Part Number Hot Search : 
015015 IBS215 GPM80D XMG16 11718 048HS3F MAX94108 A1117
Product Description
Full Text Search
 

To Download ISL5216 Datasheet File

  If you can't view the Datasheet, Please click here to try to view without PDF Reader .  
 
 


  Datasheet File OCR Text:
  1 tm fn6013.1 ISL5216 four-channel programmable digital downconverter the ISL5216 quad programmable digital downconverter (qpdc) is designed for high dynamic range applications such as cellular basestations where multiple channel processing is required in a small physical space. the qpdc combines into a single package a set of four channels which include: digital mixers, a quadrature carrier nco, digital ?ters, a resampling ?ter, a cartesian-to-polar coordinate converter and an agc loop. the ISL5216 accepts four channels of 16-bit ?ed or up to 14-bit mantissa / 3-bit exponent ?ating point real or complex digitized if samples which are mixed with local quadrature sinusoids. each channel carrier nco frequency is set independently by the microprocessor. the output of the mixers are ?tered with a cic and fir ?ters, with a va r iety of decimation options. gain adjustment is provided on the ?tered signal. the digital agc provides a gain adjust r ange of up to 96db with programmable thresholds and slew r ates. a cartesian to polar coordinate converter provides magnitude and phase outputs. a frequency discriminator is also provided to allow fm demodulation. selectable outputs include i samples, q samples, magnitude, phase, frequency and agc gain. the output resolution is selectable from 4-bit ?ed point to 32-bit ?ating point. output bandwidths in excess of 1 mhz are achievable using a single channel. wider bandwidths are available by cascading or polyphasing multiple channels. features up to 95msps input ? our independently programmable downconverter channels in a single package ? our parallel 17-bit inputs providing 16-bit ?ed or one of several 17-bit ?ating point formats 32-bit programmable carrier nco with > 115db sfdr 110db fir out of band attenuation decimation from 4 to >65536 24-bit internal data path digital agc with up to 96db of gain range filter functions - 1- to 5-stage cic filter - halfband decimation and interpolation fir filtering - programmable fir filtering - resampling fir filtering cascadable filtering for additional bandwidth ? our independent serial outputs 2.5v core, 3.3v i/o operation applications narrow-band tdma through is-95 cdma digital software radio and basestation receivers wide-band applications: w-cdma and umts digital software radio and basestation receivers ordering information part number temp range ( o c) package pkg. no ISL5216ki -40 to 85 196 ld 0.8 mm bga v196.12x12 ISL5216ki-1 -40 to 85 196 ld 1.0 mm bga v196.15x15 data sheet february 2002 caution: these devices are sensitive to electrostatic discharge; follow proper ic handling procedures. 1-888-intersil or 321-724-7143 | intersil (and design) is a trademark of intersil americas inc. copyright ?intersil americas inc. 2002. all rights reserved
2 block diagram p interface a(15:-1) clk level nco / mixer / cic input select, format, demux detector p test register p mode b(15:-1) c(15:-1) d(15:-1) reset synci synco channel 0 p(15:0) add(2:0) wr ce sclk rd or dstrb or rd / wr intrpt synca sd1a sd2a output select, format, serialize input select, format, demux bus i q nco / mixer / cic channel 1 input select, format, demux i q nco / mixer / cic channel 2 input select, format, demux i q nco / mixer / cic channel 3 input select, format, demux i q routing syncb sd1b sd2b syncc sd1c sd2c syncd sd1d sd2d enia enib enic enid fir filters, agc, cartesian-to-polar coordinate converter fir filters, agc, cartesian-to-polar coordinate converter fir filters, agc, cartesian-to-polar coordinate converter fir filters, agc, cartesian-to-polar coordinate converter synci0 synci1 synci2 synci3 tclk tms tdi tdo trst ISL5216
3 pinout 196 lead bga t op view k j h g f e d c b a 1 23456789 11 10 l m n vcc2 d9 gnd vcc1 12 d7 13 14 c14 c10 c8 gnd vcc1 gnd d11 enid d13 b1 d15 d3 d1 d0 b0 c12 c6 c4 c2 c0 b3 wr b2 b5 gnd p0 vcc1 b7 p2 gnd clk gnd p4 vcc2 b9 vcc1 p6 gnd b11 gnd p8 vcc1 b13 p10 gnd b15 p12 sd2c sd2d sd2b sd1b intrpt p15 enia a12 a14 sd2a sd1c gnd vcc2 gnd add0 a8 a10 gnd vcc1 sclk syncc syncb synca syncd synci synco a7 a9 a11 a13 a15 sd1a p d12 d10 d14 c13 enic d8 d6 d4 c11 c9 c 7c5c3c1 power pin ground pin signal pin thermal ball nc (no connection) b12 b14 b10 gnd b8 b6 vcc1 p3 p5 p7 a5 a6 a3 vcc1 sd1d add1 a4 a2 a1 p14 a0 p13 reset vcc2 p11 p9 b4 p1 enib rd ce c15 d5 d2 add2 p mode am1 tdo synci3 tms tclk trst bm1 tdi cm1 dm1 synci2 synci1 synci0 vcc1 = +2.5v core supply voltage vcc2 = +3.3v i/o supply voltage ISL5216
4 pin descriptions name type description power supply vcc1 - positive power supply voltage (core), 2.5v 0.125 vcc2 - positive power supply voltage (i/o), 3.3v 0.165 gnd - ground, 0v. inputs a(15:0), am1 i parallel data input bus a. sampled on the rising edge of clock when enia is active (low). am1 has internal weak pull down. b(15:0), bm1 i parallel data input bus b. sampled on the rising edge of clock when enib is active (low). bm1 has internal weak pull down. c(15:0), cm1 i parallel data input bus c. sampled on the rising edge of clock when enic is active (low). cm1 has internal weak pull down. d15 i parallel data input d15 or tuner channel 0 cof. d14 i parallel data input d14 or tuner channel 0 cofsync. d13 i parallel data input d13 or tuner channel 0 sof. d12 i parallel data input d12 or tuner channel 0 sofsync. d11 i parallel data input d11 or tuner channel 1 cof. d10 i parallel data input d10 or tuner channel 1 cofsync. d9 i parallel data input d9 or tuner channel 1 sof. d8 i parallel data input d8 or tuner channel 1 sofsync. d7 i parallel data input d7 or tuner channel 2 cof. d6 i parallel data input d6 or tuner channel 2 cofsync. d5 i parallel data input d5 or tuner channel 2 sof. d4 i parallel data input d4 or tuner channel 2 sofsync. d3 i parallel data input d3 or tuner channel 3 cof. d2 i parallel data input d2 or tuner channel 3 cofsync. d1 i parallel data input d1 or tuner channel 3 sof. d0 i parallel data input d0 or tuner channel 3 sofsync. dm1 i parallel data input dm1 for extended floating point input modes. dm1 has internal weak pull down. enia i input enable for parallel data input bus a. active low. this pin enables the input to the part in one of two modes, gated or interpolated. in gated mode, one sample is taken per clk when eni is asserted. enib i input enable for parallel data input bus b. active low. this pin enables the input to the part in one of two modes, gated or interpolated. in gated mode, one sample is taken per clk when eni is asserted. enic i input enable for parallel data input bus c. active low. this pin enables the input to the part in one of two modes, gated or interpolated. in gated mode, one sample is taken per clk when eni is asserted. enid i input enable for parallel data input bus d. active low. this pin enables the input to the part in one of two modes, gated or interpolated. in gated mode, one sample is taken per clk when eni is asserted. control clk i input clock. all processing in the ISL5216 occurs on the rising edge of clk. synci i global synchronization input signal. used to align the processing with an external event or with other ISL5216 or hsp50216 devices. synci can update the carrier nco, reset decimation counters, restart the filter compute engine, and restart the output section among other functions. for most of the functional blocks, the response to synci is programmable and can be enabled or disabled. this signal is connected to all four channels and is included for backward compatibility with hsp50216 designs. synci0 i synchronization input signal for channel 0. same functions as synci but connects only to channel 0. this pin is internally pulled low to allow it to be left unconnected. synci1 i synchronization input signal for channel 1. same functions as synci but connects only to channel 1. this pin is internally pulled low to allow it to be left unconnected. synci2 i synchronization input signal for channel 2. same functions as synci but connects only to channel 2. this pin is internally pulled low to allow it to be left unconnected. ISL5216
5 synci3 i synchronization input signal for channel 3. same functions as synci but connects only to channel 3. this pin is internally pulled low to allow it to be left unconnected. synco o synchronization output signal. the processing of multiple ISL5216 or hsp50216 devices can be synchronized by tying the synco from one ISL5216 device (the master) to the synci of all the ISL5216 / hsp50216 devices (the master and slaves). reset i reset signal. active low. asserting reset will halt all processing and set certain registers to default values. jtag tdo o test data out tdi i test data in. contains weak internal pull up. tms i test mode select. contains weak internal pull up. tclk i test clock. contains weak internal pull down. trst i test reset. active low. contains weak internal pull down. outputs sd1a o serial data output 1a. a serial data stream output which can be programmed to consist of i1, q1, i2, q2, magnitude, phase, frequency (d /dt), agc gain, and/or zeros. in addition, data outputs from channels 0, 1, 2 and 3 can be multiplexed into a common serial output data stream. information can be sequenced in a programmable order. see serial data output formatter section and microprocessor interface section. sd2a o serial data output 2a. this output is provided as an auxiliary output for serial data output 1a to route data to a second destination or to output two words at a time for higher sample rates. sd2a has the same programmability as sd1a except that floating point format is not available. see serial data output formatter section and microprocessor interface section. sd1b o serial data output 1b. see description for sd1a. sd2b o serial data output 2b. see description for sd2a. sd1c o serial data output 1c. see description for sd1a. sd2c o serial data output 2c. see description for sd2a. sd1d o serial data output 1d. see description for sd1a. sd2d o serial data output 2d. see description for sd2a. sclk o serial output clock. can be programmed to be at 1, 1/2, 1/4, 1/8, or 1/16 times the clock frequency. the polarity of sclk is programmable. synca o serial data output 1a sync signal. this signal is used to indicate the start of a data word and/or frame of data. the polarity and position of synca is programmable. syncb o serial data output 1b sync signal. this signal is used to indicate the start of a data word and/or frame of data. the polarity and position of syncb is programmable. syncc o serial data output 1c sync signal. this signal is used to indicate the start of a data word and/or frame of data. the polarity and position of syncc is programmable. syncd o serial data output 1d sync signal. this signal is used to indicate the start of a data word and/or frame of data. the polarity and position of syncd is programmable. microprocessor interface p(15:0) i/o microprocessor interface data bus. see microprocessor interface section . p15 is the msb. add(2:0) i microprocessor interface address bus. add2 is the msb. see microprocessor interface section . note: add2 is not used but designated for future expansion. wr or dstrb i microprocessor interface write or data strobe signal. when the microprocessor interface mode control, p mode, is a low data transfers (from either p(15:0) to the internal write holding register or from the internal write holding register to the target register specified) occur on the low to high transition of wr when ce is asserted (low). when the p mode control is high this input functions as a data read/write strobe. in this mode with rd/wr low data transfers (from either p(15:0) to the internal write holding register or from the internal write holding register to the target register specified) occur on the low to high transition of data strobe. with rd/wr high the data from the address specified is placed on p(15:0) when data strobe is low. see microprocessor interface section . pin descriptions (continued) name type description ISL5216
6 functional description the ISL5216 is a 4-channel digital receiver integrated circuit offering exceptional dynamic range and ?xibility. each of the four channels consists of a front-end nco, digital mixer, and cic-?ter block and a back-end fir, agc and cartesian to polar coordinate-conversion block. the parameters for the f our channels are independently programmable. four 17-bit parallel data input busses (a(15:-1), b(15:-1), c(15:-1) and d(15:-1)) and four pairs of serial data outputs (sdxa, sdxb, sdxc, and sdxd; x = 1 or 2) are provided. each input can be connected to any or all of the internal signal processing channels, channels 0, 1, 2 and 3. the output of each channel can be routed to any of the serial outputs. outputs from more than one channel can be multiplexed through a common output if the channels are synchronized. the four channels share a common input clock and a common serial output clock, but the output sample rates can be synchronous or asynchronous. bus multiplexers between the front end and back end sections provide ?xible routing between channels for cascading back-end ?ters or for routing one front end to multiple back ends for polyphase ?tering or systolic arrays (to provide wider bandwidth ?tering). a level detector is provided to monitor the signal level on any of the parallel data input busses, facilitating microprocessor control of gain blocks prior to an a/d converter. each front end nco/digital mixer/cic ?ter section includes a quadrature numerically controlled oscillator (nco), digital mixer, barrel shifter and a cascaded-integrator-comb ?ter (cic). the nco has a 32-bit frequency control word for 22.1millihertz tuning resolution at an input sample rate of 95msps. the sfdr of the nco is >115db. the cic ?ter order is programmable between 1 and 5 and the cic decimation factor can be programmed from 4 to 512 for 5 th order, 2048 for 4 th order, 32768 for 3 rd order, or 65536 for 1 st or 2 nd order ?ters. each channel back end section includes an fir processing b lock, an agc and a cartesian-to-polar coordinate converter. the fir processing block is a ?xible ?ter compute engine that can compute a single fir or a set of cascaded decimating, interpolating or resampling ?ters. a single ?ter in a chain can have up to 256 taps and the total n umber of taps in a set of ?ters can be up to 384 provided that the decimation is suf?ient. the ISL5216 calculates two taps per clock (on each channel) for symmetric ?ters, generally making decimation the limiting factor for the n umber of taps available. the ?ter compute engine supports a variety of ?ter types including decimation, interpolation and resampling ?ters. the coef?ients for the programmable digital ?ters are 22 bits wide. coef?ients are provided in r om for several halfband ?ter responses and for a resampler. the agc section can provide up to 96db of either ?ed or automatic gain control. for automatic gain control, two settling modes and two sets of loop gains are provided. separate attack and decay slew rates are provided for each loop gain. programmable limits allow the user to select a gain range less than 96db. the outputs of the cartesian-to- polar coordinate conversion block, used by the agc loop, are also provided as outputs to the user for am and fm demodulation. the ISL5216 supports both ?ed and ?ating point parallel data input modes. the ?ating point modes support gain r anging a/d converters. gated, interpolated and multiplexed data input modes are supported. the serial data output word width for each data type can be programmed to one of ten output bit widths from 4-bit ?ed point through 32-bit ieee 754 ?ating point. the ISL5216 is programmed through a 16-bit microprocessor interface. the output data can also be read via the microprocessor interface for all channels that are synchronized. the ISL5216 is speci?d to operate to a maximum clock rate of 95msps over the industrial temperature range (-40 o c to 85 o c). the i/o power supply v oltage range is 3.3v 0.165v while the core power supply v oltage is 2.5v 0.125v. the i/os are 5v tolerant. rd or rd/wr i microprocessor interface read or read/write signal. when the microprocessor interface mode control, p mode, is a low the data from the address specified is placed on p(15:0) when rd is asserted (low) and ce is asserted (low). when the p mode control is high this input functions as a read/write control input. data is read from p(15:0) when high or written to the appropriate register when low. see microprocessor interface section . p mode i microprocessor interface mode control. this pin is used to select the read/write mode for the microprocessor interface. internally pulled down. see microprocessor interface section . ce i microprocessor interface chip select. active low. this pin has the same timing as the address pins. intrpt o microprocessor interrupt signal. asserted for a programmable number of clock cycles when new data is available on the selected channel. pin descriptions (continued) name type description ISL5216
7 input select/format block each front end block and the level detector block contains an input select/format block. a functional block diagram is provided in the above ?ure. the input source can be any of the four parallel input busses (see microprocessor interface section ta b le 1, iwa *000h) or a test register loaded via the processor bus (see microprocessor interface section , gwa register f807h). the input to the part can operate in a gated or interpolated mode. each input data bus has an input enable (enix , x = a, b, c or d). in the gated mode, one input sample is processed per clock that the enix signal is asserted (low). processing is disabled when enix is high. the enix signal is pipelined through the part to minimize delay (latency). in the interpolated mode, the input is zeroed when the enix signal is high, but processing inside the part continues. this mode inserts zeros between the data samples, interpolating the input data stream up to the clock rate. on reset, the part is set to gated mode and the input enables are disabled. the inputs are enabled by the ?st global synci signal or syncix signal, where x = 0, 1, 2 or 3. the input section can select one channel from a multiplexed data stream of up to eight channels. the input enable is delayed by zero to seven clock cycles to enable a selection register. the register following the selection register is enabled by the non-delayed input enable to realign the processing of the channels. the one-clock-wide input enable m ust align with the data for the ?st channel. the desired channel is then selected by programming the delay. a delay of zero selects the ?st channel, a delay of one selects the second, etc. the parallel input busses are 17 bits wide allowing for up to 16 bits of ?ed-point data or 14 bits of mantissa with three bits of e xponent for ?ating-point data. the input format may be twos complement or offset binary format in either ?ed or ?ating a(15:-1) enia b(15:-1) enib c(15:-1) enic d(15:-1) enid note: eni* signals are active high (inverted at the i/o pad) testenbit testenstrb mux mux external data input select (iwa *000 - 14:13 or gwa f804 - 14:13) mux p test register (gwa f807 - 15:0) (iwa *000 - 11 (gwa f808) or gwa f804 - 11) test eni select (iwa *000 - 12 external/test select (iwa *000 - 15 or gwa f804 - 15) or gwa f804 - 12) 15:0 15:0 testen eni 15:0 en offset binary or twos complement (iwa *000 - 10 or gwa f804 - 10) format floating point to fixed point mux 11/3, 12/3, 13/3 14/2, 14/3, 15/2, 16/1 (iwa *000 or gwa f804 - 17:16, 8:7) r e g programmable delay de-multiplex control (0-7) (iwa *000 - 6:4 or gwa f8o4 - 6:4) 15:0 fixed point or floating point (iwa *000 - 9 or gwa f804 - 9) data to nco / mixer interpolated/gated mode (iwa *000 - 3 or gwa f804 - 3) input enable hold off (enabled by synci) (gwa f802 - 30) data sample enable carrier offset frequency (cof) cof sync enable cof resampler offset frequency (sof) sof sync enable sof enable pn (iwa *000 - 0) pn cof to carrier nco/mixer cof sync to carrier nco/mixer sof to resampler nco sof sync to resampler nco pn to carrier nco/mixer (1wa *000 - 2) (iwa *000 - 1) or level detector ISL5216
8 point modes. the ?ating point modes and the mapping of the parallel 17-bit input format is discussed below. floating point input mode bit mapping the input bit weighting for ?ed point inputs on busses a, b, c, and d is: bit 15 (msb): 2 0 , bit 14: 2 -1 , bit 13: 2 -2 , ..., bit 0: 2 -15 . f or ?ating point modes, the least signi?ant two or three bits are used as exponent bits (see floating point input mode bit mapping tables ). the ?st three ?ating point modes shown below are included for backward compatibility with the hsp50216 and their functionality remains unchanged. the 14-bit mantissa / 2-bit exponent mode present in the hsp50216 has been e xtended from a 12db range to 18db in the ISL5216. this mode as well as those which follow it in the tables below use the cics barrel shifter to provide the gain. this places a limit on the cics largest available decimation. as an example, assume the cic is set for 5th order and the decimation needs to be 300. the cics gain, 300 5 , is compensated for in the barrel shifter with a shift factor of 45 - ceil(log 2 (300 5 )) = 3 where shifts are from lsb towards msb and a shift of 45 corresponds to no attenuation. if the shift factor is set as 0 in this example, there is room for 3 * 6 = 18db of gain. raising the cic decimation lowers the shift factor (to further attenuate the cic input signal) and limits the available gain r ange. this cic decimation / ?ating point gain range trade off is handled automatically by the evaluation board software. additional information on the cic can be found in the cic filter section of this data sheet. floating point input mode bit mapping tables (( 11-bit mode: 11 to 13-bit mantissa (15:3), 3-bit exponent (2:0), 30db exponent range (note 3) exponent gain (db) pin bit weighting to 16-bit input mapping x(2:0) = 000 0 x15 x15 x15 x15 x15 x15 x14 x13 x12 x11 x10 x9 x8 x7 x6 x5 x(2:0) = 001 6 x15 x15 x15 x15 x15 x14 x13 x12 x11 x10 x9 x8 x7 x6 x5 x4 x(2:0) = 010 12 x15 x15 x15 x15 x14 x13 x12 x11 x10 x9 x8 x7 x6 x5 x4 x3 x(2:0) = 011 18 x15 x15 x15 x14 x13 x12 x11 x10 x9 x8 x7 x6 x5 x4 x3 0 x(2:0) = 100 24 x15 x15 x14 x13 x12 x11 x10 x9 x8 x7 x6 x5 x4 x3 0 0 x(2:0) = 101 (note 1) 30 x15 x14 x13 x12 x11 x10 x9 x8 x7 x6 x5 x4 x3 0 0 0 notes: 1. or 110 or 111, the exponent input saturates at 101. 2. ?nn?= input a, b, c, or d bit nn. 3. to select this mode, set iwa *000h / gwa f804h bits 17, 16, 8 and 7 to 0. 12-bit mode: 12 to 13-bit mantissa (15:3), 3-bit exponent (2:0), 24db exponent range (note 5) exponent gain (db) pin bit weighting to 16-bit input mapping x(2:0) = 000 0 x15 x15 x15 x15 x15 x14 x13 x12 x11 x10 x9 x8 x7 x6 x5 x4 x(2:0) = 001 6 x15 x15 x15 x15 x14 x13 x12 x11 x10 x9 x8 x7 x6 x5 x4 x3 x(2:0) = 010 12 x15 x15 x15 x14 x13 x12 x11 x10 x9 x8 x7 x6 x5 x4 x3 0 x(2:0) = 011 18 x15 x15 x14 x13 x12 x11 x10 x9 x8 x7 x6 x5 x4 x3 0 0 x(2:0) = 100 (note 4) 24 x15 x14 x13 x12 x11 x10 x9 x8 x7 x6 x5 x4 x3 0 0 0 notes: 4. or 101, 110, or 111, the exponent input saturates at 100. 5. to select this mode, set iwa *000h / gwa f804h bits 17, 16, 8 and 7 to 0, 0, 0 and 1 respectively. ISL5216
9 13-bit mode: 13-bit mantissa (15:3), 3-bit exponent (2:0), 18db exponent range (note 7) exponent gain (db) pin bit weighting to 16-bit input mapping x(2:0) = 000 0 x15 x15 x15 x15 x14 x13 x12 x11 x10 x9 x8 x7 x6 x5 x4 x3 x(2:0) = 001 6 x15 x15 x15 x14 x13 x12 x11 x10 x9 x8 x7 x6 x5 x4 x3 0 x(2:0) = 010 12 x15 x15 x14 x13 x12 x11 x10 x9 x8 x7 x6 x5 x4 x3 0 0 x(2:0) = 011 (note 6) 18 x15 x14 x13 x12 x11 x10 x9 x8 x7 x6 x5 x4 x3 0 0 0 notes: 6. or 100, 101, 110, or 111, the exponent input saturates at 011. 7. to select this mode, set iwa *000h / gwa f804h bits 17, 16, 8 and 7 to 0, 0, 1 and 0 respectively. 14-bit mode: 14-bit mantissa (15:2), 2-bit exponent (1:0), 18db maximum exponent range (note 8) exponent gain (db) pin bit weighting to 16-bit input mapping x(1:0) = 00 0 x15 x14 x13 x12 x11 x10 x9 x8 x7 x6 x5 x4 x3 x2 0 0 x(1:0) = 01 6 x15 x14 x13 x12 x11 x10 x9 x8 x7 x6 x5 x4 x3 x2 0 0 x(1:0) = 10 12 x15 x14 x13 x12 x11 x10 x9 x8 x7 x6 x5 x4 x3 x2 0 0 x(1:0) = 11 18 x15 x14 x13 x12 x11 x10 x9 x8 x7 x6 x5 x4 x3 x2 0 0 note: 8. to select this mode, set iwa *000h / gwa f804h bits 17, 16, 8 and 7 to 0, 0, 1 and 1 respectively. 14-bit mode: 14-bit mantissa (15:2), 3-bit exponent (-1,1,0), 42db maximum exponent range (note 9) exponent gain (db) pin bit weighting to 16-bit input mapping x(-1,1,0) = 000 0 x15 x14 x13 x12 x11 x10 x9 x8 x7 x6 x5 x4 x3 x2 0 0 x(-1,1,0) = 001 6 x15 x14 x13 x12 x11 x10 x9 x8 x7 x6 x5 x4 x3 x2 0 0 x(-1,1,0) = 010 12 x15 x14 x13 x12 x11 x10 x9 x8 x7 x6 x5 x4 x3 x2 0 0 x(-1,1,0) = 011 18 x15 x14 x13 x12 x11 x10 x9 x8 x7 x6 x5 x4 x3 x2 0 0 x(-1,1,0) = 100 24 x15 x14 x13 x12 x11 x10 x9 x8 x7 x6 x5 x4 x3 x2 0 0 x(-1,1,0) = 101 30 x15 x14 x13 x12 x11 x10 x9 x8 x7 x6 x5 x4 x3 x2 0 0 x(-1,1,0) = 110 36 x15 x14 x13 x12 x11 x10 x9 x8 x7 x6 x5 x4 x3 x2 0 0 x(-1,1,0) = 111 42 x15 x14 x13 x12 x11 x10 x9 x8 x7 x6 x5 x4 x3 x2 0 0 note: 9. to select this mode, set iwa *000h / gwa f804h bits 17, 16, 8 and 7 to 1, 0, 1 and 1 respectively. 11, 12, 13-bit mode: 11, 12, 13-bit mantissa, 3-bit exponent (-1,1,0) (note 10), 42db maximum exponent range (note 11) exponent gain (db) pin bit weighting to 16-bit input mapping x(-1,1,0) = 000 0 x15 x14 x13 x12 x11 x10 x9 x8 x7 x6 x5 x4 x3 0 0 0 x(-1,1,0) = 001 6 x15 x14 x13 x12 x11 x10 x9 x8 x7 x6 x5 x4 x3 0 0 0 x(-1,1,0) = 010 12 x15 x14 x13 x12 x11 x10 x9 x8 x7 x6 x5 x4 x3 0 0 0 x(-1,1,0) = 011 18 x15 x14 x13 x12 x11 x10 x9 x8 x7 x6 x5 x4 x3 0 0 0 x(-1,1,0) = 100 24 x15 x14 x13 x12 x11 x10 x9 x8 x7 x6 x5 x4 x3 0 0 0 x(-1,1,0) = 101 30 x15 x14 x13 x12 x11 x10 x9 x8 x7 x6 x5 x4 x3 0 0 0 x(-1,1,0) = 110 36 x15 x14 x13 x12 x11 x10 x9 x8 x7 x6 x5 x4 x3 0 0 0 x(-1,1,0) = 111 42 x15 x14 x13 x12 x11 x10 x9 x8 x7 x6 x5 x4 x3 0 0 0 notes: 10. for compatibility with legacy hsp50216 11, 12 and 13 bit floating point modes as well as the new ISL5216 modes, the most sig nificant exponent bit is taken as x2 or? with x-1. either input may be used for the msb of the exponent when the other is tied low. 11. to select these modes, set iwa *000h / gwa f804h bits 17 and 16 to 1 and 0, respectively, and bits 8 and 7 to 0 and 0 for 11 /3, 0 and 1 for 12/3, and 1 and 0 for 13/3. ISL5216
10 level detector an input level detector is provided to monitor the signal level on any of the input busses. the input bus, input format, and the level detection type are programmable (see microprocessor interface section, gwa registers f804h, f805h and f806h). this signal level represents the wideband signal from the a/d and is useful for controlling gain / attenuation blocks ahead of the converter. the supported monitoring modes are: integrated magnitude (like the hsp50214 w/o the threshold), leaky integration (y n = x n x a + y n-1 x (1-a)) where a = 1, 2 -8 , 2 -12 , or 2 -16 (see gwa = f805h), and peak detection. the measurement interval can be programmed from 2 to 65537 samples (or continuous for the leaky integrator and peak detect cases). the output is 32 bits and is read via the p interface. note that the accumulators in the input level detector are 32 bits wide. this may limit the integration range to as few as 512 samples (for a 42db exponent range). complex input mode in this mode, complex (i/q) data can be input using two clock cycles with i input ?st and q input second. the enix signal indicates the clock cycle when i is valid. the q data is taken on either the next input clock or two clocks after i, as determined by iwa *000h bit 23. the complex multiply is done in two clock cycles: i * cos and i * sin on the ?st 15-bit mode: 15-bit mantissa (15:1), 2-bit exponent (-1, 0), 18db maximum exponent range (note 12) exponent gain (db) pin bit weighting to 16-bit input mapping 000 0 x15 x14 x13 x12 x11 x10 x9 x8 x7 x6 x5 x4 x3 x2 x1 0 001 6 x15 x14 x13 x12 x11 x10 x9 x8 x7 x6 x5 x4 x3 x2 x1 0 010 12 x15 x14 x13 x12 x11 x10 x9 x8 x7 x6 x5 x4 x3 x2 x1 0 011 18 x15 x14 x13 x12 x11 x10 x9 x8 x7 x6 x5 x4 x3 x2 x1 0 note: 12. to select this mode, set iwa *000h / gwa f804h bits 17, 16, 8 and 7 to 1, 1, 0 and 0 respectively. 16-bit mode: 16-bit mantissa (15:0), 1-bit exponent (-1), 6db maximum exponent range (note 13) exponent gain (db) pin bit weighting to 16-bit input mapping x(-1) = 0 0 x15 x14 x13 x12 x11 x10 x9 x8 x7 x6 x5 x4 x3 x2 x1 x0 x(-1) = 1 6 x15 x14 x13 x12 x11 x10 x9 x8 x7 x6 x5 x4 x3 x2 x1 x0 note: 13. to select this mode, set iwa *000h / gwa f804h bits 17, 16, 8 and 7 to 1, 1, 0 and 1 respectively. figure 1. integrated mode absolute v alue 16 2 0, -8, -12, -16 32 msb a ccumulator b arrel shifter b arrel shifter r e g a b a > b 32 2 0, -8, -12, -16 en figure 2. peak detector 16 en figure 3. leaky integrator b arrel shifter r e g 32 16 x b arrel shifter y 2 0, -8, -12, -16 a = y n = a * x + (1 - a) * y n-1 ISL5216
11 ISL5216 clock and q * (-sin) and q * cos on the second clock cycle. the ?st integrator of the cic is enabled on both clock cycles to add the two products. the rest of the stages are enabled only on the ?st cycle. in complex input mode, the input level detector uses only i samples for its magnitude computation. the cic decimation counter is programmed for two times the number of complex input samples. the exponent input m ust be the same for i and q for the ?ating point modes. see iwa *000h for details on controlling the complex input mode. nco/mixer after the input select/format section, the samples are m ultiplied by quadrature sine wave samples from the carrier nco. the nco has a 32-bit frequency control, providing sub-hertz resolution at the maximum clock rate. the quadrature sinusoids have exceptional purity. the purity of the nco should not be the determining factor for the receiver dynamic range performance. the phase quantization to the sine/cosine generator is 24 bits and the amplitude quantization is 19 bits. the carrier nco center frequency is loaded via the p bus. the center frequency control is double buffered - the input is loaded into a center frequency holding register via the p interface. the data is then transferred from the holding register to the active register by a write to a address iwa *006h or by a synci signal, if loading via synci is enabled. to synchronize multiple channels, the carrier nco phase accumulator feedback can be zeroed on loading to restart all of the ncos at the same phase. a serial offset frequency input is also available for each channel through the d(15:0) parallel data input bus (if that bus is not needed f or data input). this is legacy support for hsp50210 type tracking signals. see iwa=*000 and *004 for carrier offset frequency parameters. after the mixers, a pn (pseudo noise) signal can be added to the data. this feature is provided for test and to digitally reduce the input sensitivity and adjust the receiver range (sensitivity). the effect is the same as increasing the noise ?ure of the receiver, reducing its sensitivity and overall dynamic range. for testing, the pn generator provides a wideband signal which may be used to verify the frequency response of a ?ter. the one bit pn data is scaled by a 16-bit programmable scale factor. the overall range for the pn is 0 to 1/4 full scale (see iwa = *001h). a gain of 0 disables the pn input. the pn value is formed as: where s is the sign extension of the 16 bit pn gain register v alue (iwa = *001h) times the pn chip value and the 16 xs refer to the pn gain register times the pn chip value. the minimum, non-zero, pn value is 2 -18 of full scale (-108dbfs) on each axis (-105dbfs total). for an input noise level of -75dbfs, this allows the snr to be decreased in steps of 1/8db or less. the i and q pn codes are offset in time to decorrelate them. the pn code is selected and enabled in the test control register (f800h). the pn is added to the signal after the mix with the three sign bits aligned with the most signi?ant three bits of the signal, so the maximum level is - 12dbfs and the minimum, non-zero level is -108dbfs. the pn code can be 2 15 -1, 2 23 -1 or 2 15 -1 * 2 23 -1. cic filter next, the signal is ?tered by a cascaded integrator/comb (cic) ?ter. a cic ?ter is an ef?ient architecture for decimation ?tering. the power or magnitude squared frequency response of the cic ?ter is given by: where m = number of delays (1 for the ISL5216) n = number of stages and r = decimation factor. the passband frequency response for ?st (n=1) though ?th (n=5) order cic ?ters is plotted in figure 13. the frequency axis is normalized to f s /r, making f s /r = 1 the cic output sample rate. figure 15 shows the frequency response for a 5 th order ?ter but extends the frequency axis to f s /r = 3 (3 times the cic output sample rate) to show alias rejection f or the out of band signals. figure 14 uses information from figure 15 to provide the amplitude of the ?st (strongest) alias as a function of the signal frequency or bandwidth from dc. for example, with a 5 th order cic and f s /r = 0.125 (signal frequency is 1/8 the cic output rate) figure 14 shows a ?st alias level of about -87 db. figure 14 is also listed in table form in table 51 (cic passband and alias levels). the cic ?ter order is programmable from 0 to 5. the cic may be bypassed by setting the cic ?ter order to 0 (iwa = *004h bits 13:9 are all set equal to 1) and the cic barrel shift (iwa = *004h bits 19:14) to 45 decimal. the cic output rate must, however, be no more than clk max / 4 where clk max is the maximum clock frequency available on the device (see electrical speci?ations section). the integrator bit widths are 69, 62, 53, 44, and 34 for the ?st t through ?th stages, respectively, while the comb bit widths are all 32. the integrators are sized for decimation f actors of up to 512 with ?e stages, 2048 with four stages, 32768 with three stages, and 65536 with one or two stages. higher decimations in the cic should be avoided as they will cause integrator over?w. in the ISL5216, the pn value 2 -3 2 -4 ............ 2 -17 2 -18 sss x x xxxxxxxxxxxx x x pf () mf () sin f r ---- - ?? ?? sin ----------------------- - ?? ?? ?? ?? ?? 2n =
12 integrators are slightly oversized to reduce the quantization noise at each stage. a cic ?ter has a gain of r n , where r is the decimation factor and n is the number of stages. because the cic ?ter gain can become very large with decimation, an attenuator is provided ahead of the cic to prevent over?w. the 24 bits of sample data are placed on the low 24 bits of a 69 bit bus (width of the ?st cic integrator) for a gain of 2 -45 . a 48 bit barrel shifter then provides a gain of 2 0 to 2 47 inclusive before passing the data to the cic. the overall gain in the pre-cic attenuator can therefore be programmed to be any one of 48 values from 2 -45 to 4, inclusive (see iwa=*004, bits 19:14). this shift factor is adjusted to keep the total barrel shifter and cic ?ter gain between 0.5 and 1.0. the equation which should be used to compute the necessary shift factor is: shift factor = 45 - ceiling(log 2 (r n )). cic barrel shifts of greater than 45 will cause msb bits to be lost. most of the ?ating point modes on the ISL5216 make use of the cic barrel shifter for gain. this limits the maximum usable decimation. in particular, shift factor minus maximum exponent must be greater than or equal to zero. maximum exponent ranges from 0 to 1, 3, or 7 for 1, 2 and 3 e xponent bits, representing up to 6, 18, or 42db of gain, respectively. see floating point input mode section for details. ISL5216
13 back end data routing back end section one back-end processing section is provided per channel. each back end section consists of a ?ter compute engine, a fifo/timer for evenly spacing samples (important when implementing interpolation ?ters and resamplers), an agc and a cartesian-to-polar coordinate conversion block. a b lock diagram showing the major functional blocks and data routing is shown above. the data input to the back end section is through the ?ter compute engine. there are two other inputs to the ?ter compute engine, they are a data recirculation path for cascading ?ters and a magnitude and d /dt feedback path for am and fm ?tering. there are seven outputs from each back end processing section. these are i and q directly out of the ?ter compute engine (i2, q2), i and q passed through the fifo and agc multipliers (i1, q1), magnitude (mag), phase (or d /dt), and the agc gain control value (gain). the i2/q2 outputs are used when cascading back end stages. the routing of signals within the back end processing section is controlled by the ?ter compute engine. the routing information is embedded in the instruction bit ?lds used to de?e the digital ?ter being implemented in the ?ter compute engine. mag: i dphi/dt: q agc loop filter filter compute engine mux fifo/ timer agc mult cart to polar shift d/dt m u x x1, x2 x4, x8 m u x from cic pa th 0 pa th 2 (4:0) i1 q1 gain mag phase i2 q2 destination bit map (bits 28:18 of fir instructions bit field) 28 27 25 24 23 22 21 20 19 18 28 27 26, 25 24 23 22:18 agc loop gain select (path 01 only) update agc loop (path 01 only) pa th 00 - - immediate filter processor feedback path 01 - - fifo/agc path to i1 and q1 10 - - direct out/cascade path to i2 and q2 11 - - fifo/agc path to i2 and q2 strobe output section (start serial output with this sample) feed mag/phase back to filter processor filter processor sequence step number 26 ext agc gain pa th 1 pa th 3 i2 q2 ISL5216
14 filter compute engine the ?ter compute engine is a dual multiply-accumulator (mac) data path with a microcoded fir sequencer. the ?ter compute engine can implement a single fir or a set of ?ters. for example, the ?ter chain could include two halfband ?ters, a shaping (matched) ?ter and a resampling ?ter, all with different decimations. the following ?ter types are currently supported by the architecture and microcode: ? v en symmetric with even # of taps decimation ?ters ? v en symmetric with odd # of taps decimation ?ters (including hbfs) odd symmetric with even # of taps decimation ?ters odd symmetric with odd # of taps decimation ?ters asymmetric decimation ?ters complex ?ters interpolation ?ters (up to interpolate by 4) interpolation halfband ?ters resampling ?ters (under resampler nco control) fixed resampling ratio ?ter (within the available number of coef?ients) quadrature to real ?tering (w/ fs/4 up conversion) the input to the ?ter compute engine comes from one of three sources? cic ?ter output (which can also be another backend section), the output of the ?ter compute engine (fed back to the input) or the magnitude and d /dt fed back from the cartesian-to-polar coordinate converter. t he number and size of the ?ters in the chain is limited by the n umber of clock cycles available (determined by the decimation) and by the data and coef?ient ram/rom resources. the data ram is 384 words (i/q pairs) deep. the data addressing is modulo in power-of-2 blocks, so the maximum ?ter size is 256. the block size and the block starting memory address for each ?ter is programmable so that the av ailable memory can be used ef?iently. the coef?ient ram is 192 words deep. it is half the size of the data memory because ?ter coef?ients are typically symmetric. roms are provided with halfband ?ter coef?ients, resampling ?ter coef?ients, and constants. the ?ter compute engine exploits symmetry where possible so that each mac can compute two ?ter taps per clock by doing a pre-add before multiplying. in the case of halfband ?ters, the zero-valued coef?ients are skipped f or extra ef?iency. there is an overhead of one clock cycle per input sample for each ?ter in the chain (for writing the data into the data ram) and (except in special cases) a two clock cycle ov erhead for the entire chain for program ?w control instructions. t he output of the ?ter compute engine is routed through a fifo in the main output path. the fifo is provided to more ev enly space the fir outputs when they are produced in bursts (as when computing resampling or interpolation ?ters). the fifo is four samples deep. the fifo is loaded by the output of the ?ter when that path is selected. it is unloaded by a counter. the spacing of the output samples is speci?d in clock periods. the spacing can be set from 1 (fall through) to 4096 samples m u x i q ram 384 words i q ramr/wb addra (8:0) addrb (8:0) s w a p s w a p a l u a l u r/d /dt 0..-23 inmux (1:0) 0..-23 a b 1..-23 1..-25 with rnd a b ramaen ramben iqswap ifunct qfunct coef s h f t r e g s h f t r e g l i m i t l i m i t r e g r e g r e g m u x m u x enfb, rndsel (2:0) shift (1:0) regen4 enlimit enhr1 enhr2 outsel down shift 0, 1, 2 places 9..-31 0..-23 0..-21 coef (21:0), shift (1:0) note: pipeline delays omitted for clarity iq ISL5216
15 (approximately the spacing for a 16ksps output sample rate when using 65msps clock) using iwa = *00ah bits 11:0. t he number and order of the ?tering in the ?ter chain is de?ed by a fir control program. the fir control program is a sequence of up to 32 instruction words. each instruction word can be a ?ter or program ?w instruction. the ?ter instruction de?es a fir in the chain, specifying the type of fir, number of taps, decimation, memory allocation, etc. for program ?w, a w ait for input sample(s) instruction, a loop counter load, and several jumps (conditional and unconditional) are provided. the ISL5216 evaluation board includes software for automatically generating fir control programs for most ?ter requirements. examples of programs fir control programs are given below. the simplest ?ter program computes a single ?ter. it has three instructions (see sample filter #1 program instructions below): the parameters of the fir (including type, number of taps, decimation and memory usage) are speci?d in the bit ?lds of the step 1 instruction word. to change the ?tering the only other change needed is the number of samples in the wait threshold register (iwa = *00c, bits 9:0). the ?ter in this e xample requires 52 clock cycles to compute, allocated as f ollows: using a 65msps clock, the output sample rate could be as high as 65msps / 52 clocks = 1.25msps. the input sample r ate to the fir from the cic ?ter would be 2.5msps. the impulse response length would be 38 s (95 taps at 0.4 s/tap). each additional ?ter added to the signal processing chain requires one instruction step. as an example of this, a typical ?ter chain might consist of two decimate-by-2 halfband ?ters being followed by a shaping ?ter with the ?al ?ter being a resampling ?ter. the program for this case might be (see sample filter program #2 instructions below): sample filter #1 program step instruction 0 wait for enough input samples (equal to the decimation factor) 1 fir type = even symmetric 95 taps decimate by 2 compute one output decrement wait counter memory block size 128 memory block start at 64, coefficient block start at 64 step size 1 output to agc 2 jump, unconditional, to step 0 sample filter #1 clock cycles calculation clock cycles function performed 48 clocks for fir computation (two taps/clock due to symmetry) 2 clocks for writing the input data into the data rams (decimate by 2 requires 2 inputs per output) 2 clocks for the program flow instructions (wait and jump) 52 total sample filter #2 program step instruction 0 wait for enough input samples (usually equal to the total decimation? in this case) 1 fir type = even symmetry 15 taps halfband decimate by 2 compute four outputs memory block size 32 memory block start at 0 coefficient block start at 13 output to step 2 decrement wait count 2 fir type = even symmetry 23 taps halfband decimate by 2 compute two outputs memory block size 32 memory block start at 32 coefficient block start at 24 output to step 3 3 fir type = even symmetry 95 taps decimate by 2 compute one output memory block size 128 memory block start at 64 coefficient block start at 64 step size 1 output to step 4 4 fir type = resampler increment nco 6 taps compute one output memory block size 8 memory block starts at 192 coefficient block start at 512 step size 32 output to agc 5 jump, unconditional, to 0 ISL5216
16 sample ?ter #2 requires: 32 + 32 + 128 + 8 = 200 data ram locations (95+1)/2=48 coef?ient ram location (resampler and hbf coef?ients are in rom). the number of clock cycles required to compute an output f or sample ?ter #2 is calculated as follows: t otal decimation is 8, so the input sample rate for the fir chain (cic output rate) could be up to: f clk /(ceil(105/8)) = f clk /14. with a 65mhz clock, this would support a maximum input sample rate to the fir processor of 4.6mhz and an output sample rate up to 0.580mhz. the shaping ?ter impulse response length would be: (95 x 2)/580,000 = 82 s. the maximum output sample rate is dependent on the length and number of firs and their decimation factors. illustrating this concept with filter example #3, a higher speed ?ter chain might be comprised of one 19 tap decimate-by-2 halfband ?ter followed by a 30 tap shaping fir ?ter with no decimation. the program for this example could be: the number of clock cycles required to compute an output f or sample ?ter #3 is calculated as follows: f or filter example #3 and a 65msps input, the maximum fir input rate would be 65msps / ceil(26 / 2) = 5msps giving a decimate-by-2 output sample rate of 2.5msps. at 80msps, the fir could have up to 42 taps with the same output rate. channels 0, 1, 2 and 3 can be combined in a polyphase structure for increased bandwidth or improved ?tering. filter example #4 will be used to demonstrate this capability. symbol rate of 4.096 msym. the desired output sample rate is 8.192msps. arrange the four back end sections as four ?ters operating on the same cic output at a rate of sample filter #2 clock cycles calculation clock cycles function performed 20 halfband 1 compute clocks (5 per compute x 4 computes) 8 halfband 1 input sample writes (8 input samples) 14 halfband 2 compute clocks (7 per compute x 2 computes) 4 halfband 2 input sample writes (4 input samples) 48 95 tap symmetric fir, 2 clocks per tap 2 fir input sample writes (2 input samples) 6 resampler (6 taps, nonsymmetric) 1 resampler input sample write (1 input samples) 1 jump instruction 1 wait instruction 105 clock cycles per output sample filter #3 program step instruction 0 wait for enough input samples (2 in this case) 1 fir type = even symmetry 19 taps halfband decimate by 2 compute one output memory block size 32 memory block start at 0 coefficient block start at 18 output to step 2 reset wait count 2 fir type = even symmetry 30 taps decimate by 1 compute one output memory block size 64 memory block start at 32 coefficient block start at 64 step size 1 output to agc 3 jump, unconditional, to 0 sample filter #3 clock cycles calculation clock cycles function performed 6 19 tap halfband, one output 2 halfband input writes (2 input samples) 15 30 tap symmetric fir, 2 taps per clock 11 fir input write 11 wait 11 jump 26 clock cycles per output ISL5216
17 65.536mhz/4=16.384mhz, where the factor of 4 is the cic decimation we have chosen. each channel computes the same sequence, offset by one output sample from the previous sample (see iwa = *00bh). each channel decimates down to 2.048m and then the channels are multiplexed together in the output formatter to get the desired 8.192msps. the input sample rate to the ?al ?ter of each channel must meet nyquist requirements f or the ?al output to assure that no information is lost due to aliasing. the number of fir taps available for these requirements is calculated as follows: 65536/2048 = 32 clocks minus (8 writes + 1 wait + 1 jump = 10 clocks) = 22 clocks therefore, the number of taps available is: 22 x 2 = 44 taps. multiplexing the four outputs gives a ?al output sample rate of 8.192msps. the impulse response is 44 taps at 16.384m or 22 output samples (11 symbols at 4.096m). the agc loop ?ter output of channel 4 can be routed to control the forward agc gain control of all four channels. this assures that the gains of the four back end sections are the same. the gain error, however, is only computed from ev ery fourth output sample. the back end processing sections of two or more ISL5216s can be combined using the same polyphase approach, but the agc gain from one part cannot be shared with another part (except via the p interface), so polyphase ?ter using m ultiple parts would typically usually use a ?ed gain. the ?ter sequencer is programmed via an instruction ram and several control registers. these are described below. instruction rams the ?ter compute engine is controlled by a simple sequencer supporting up to 32 steps. each step can be a ?ter or one of four sequence ?w instructions?ait, jump (conditional or unconditional), load loop counter, or nop. there are 128 bits per instruction word with each word consisting of condition code selects, fir parameters and data routing controls. not all of the instruction word bits are used for all instruction types. the actual sequencer instruction is only 9 bits. the rest of the bits are used for ?ter parameters or for the loop counter preload. each sequence step is loaded by the microprocessor in four 32-bit writes. the mapping of the bit ?lds for the instruction types is shown in the instruction bit ?ld table that follows. these fir instruction words can be generated using software tools provided with the ISL5216 evaluation board. when the ?ter is reset, the instruction pointer is set to 31 (the last instruction step). the read and write pointers are initialized on reset, so a reset must be done when the channel is initialized or restarted. a ?ed offset can be added to the starting read address of one of the ?ters in the program. this function is provided to offset the data reads of the ?ters in a polyphase ?ter bank; all ?ters in the bank will write the same data to the same ram location. to offset the computations the ram read address is offset. see iwa = *00bh for details. the instruction word bits (127:0) are assigned to memory w ords as follows: 31:0 to destination c c c c 0 0 0 1 0 x x x x x 0 0 63:32 to destination c c c c 0 0 0 1 0 x x x x x 0 1 95:64 to destination c c c c 0 0 0 1 0 x x x x x 1 0 127:96 to destination c c c c 0 0 0 1 0 x x x x x 1 1 where cccc is the channel number and xxxxx is the instruction sequence step number (0?1 decimal). note the phold bit in the ?ter compute engine control register (iwa = *00ah) must be set for the microprocessor to read from or write to the instruction or coef?ient rams. sample filter #4 program step instruction 0 wait for enough input samples (8 in this case) 1 fir type = even symmetry 44 taps decimate by 8 compute one output memory block size 64 memory block start at 0 coefficient block start at 64 step size 1 output to agc offset memory read pointers by 0, -2, -4, -6 2 jump, unconditional, to 0 ISL5216
18 filter sequencer ram addr gen b instruction ram, sequencer w ait counter loop counter fir p arameter fir# - write destination fir# - compute alias mask read pointer reg file write pointer reg file data pat h control rom ram addr gen a coef addr gen compute counters da ta address step size compute to compute fir type number of outputs t aps/output reads/tap instr/tap start address ram addr initial offset ram addr offset step ram addr block to block step coef addr block start coef addr block size coef addr step size per tap addr step size per output address offset resampler nco loop counter preload threshold decrement 1 decrement 2 new data, fir # reset sync fir output destination data pat h control signals da ta ram a read/write address da ta ram b read address enable coefficient offset read address ram addr block start ram addr block size ram addr step size 1 ram addr step size 2 ram addr block to block step ram ISL5216
19 instruction bit fields instruction bit fields bit positions function description 8:0 instruction instruction field bit mapping bit 876543210 t ype w ait 00 xxxxccc fir 0 1 start incrrs decrsel decren ldlp decrlp enu/c jump 1 jjjjjccc (nops and loading the loop counter are special cases of the fir instruction). xxxx = ignored. jjjjj = jump destination (sequence step number). ccc = condition code. 000 = ! (waitcount threshold) -- see iwa = *00ch, bits 9:0 for threshold details. 001 = waitcount threshold -- see iwa = *00ch, bits 9:0 for threshold details. 010 = loop counter 0. 011 = loop counter = 0. 100 = ! (rsco) (rsco - resampler nco carry output). 101 = rsco. 11 0= sync (if enabled) or p controlled bit. 11 1= always. start = load parameters and start lter computation, set to zero for no-ops, loop counter loads. incrrs = increment resampler during this lter. increments on start or at each fir output depending on pcontrol bit. decrsel = selects between two decrement values for the wait counter. decren = decrement wait count on starting this instruction. ldlp = load loop counter with the data in the i(20:9) bit eld. the start bit should not be set when this bit is set. decrlp = decrement loop counter on starting this instruction. enu/c = enable u/c counter with this fir. this multiplies the data by 1, j, -1, -j. the multiplication factor changes each time the lter runs. 14:9 fir type fir parameter bit fields 14:9 fir type. 000000 nop. 000001 decimating fir, even symmetric, even # taps. 000010 decimating fir, even symmetric, odd # taps. 000011 decimating fir, odd symmetric, even # taps. 000100 decimating fir, odd symmetric, odd # taps. 000101 decimating fir, asymmetric. 001000 resampling fir, asymmetric. 001001 interpolating hbf. 100000 decimating fir, complex (asymmetric). notes: 14. regular interpolation firs are successive runs of a fir with no data address increment, but with coefficient start address increments. 15. decimating hbfs are even symmetric, odd number of taps but with different data step sizes. 16. u/c fir is a normal fir with the u/c bit enabled. 17. other codes may be added in the future. 17:15 steps per fir specifies the number of steps per fir instruction sequence (load with value minus 1) (set to 0 for all fir types except complex which is set to 1). ISL5216
20 28:18 destination destination field bit mapping 28 27 26 25 24 23 22 21 20 19 18 agclfgn agclf path1 path0 os fb f4 f3 f2 f1 f0 agclfgn agc loop gain select. only applies to path 1. loop gain 0 or 1 if agclf bit is set. set to 0 (1 is a test mode for future chips). agclf agc loop lter enable. only applies to path 1. the agc loop is updated with the magnitude of this sample (path(1:0) = 01). path(1:0) back end data routing path selection. (see back end data routing gure) 00 route output back to lter compute engine input to another fir in the lter chain. 01 route output thru the fifo and agc to outputs i1 and q1. 10 route output to i2 and q2, bypassing the fifo and agc. this path also routes to next channel fir input. 11 route output thru the fifo and agc to outputs i2 and q2. os enable output strobe. setting this bit generates a data ready signal when the data reaches the output section and starts the serial output sequence (paths 1, 2, 3). if os is not set, there will be no output to the outside world from this channel, for that output calculation, but the data will be loaded into its output holding register (os would not be set when routing the data to another back end when cascading channels). fb feedback data path. when set, the magnitude and dphi/dt from the cartesian-to-polar coor- dinate converter block are routed to the lter compute engine input (magnitude goes to the i input and dphi/dt goes to the q input). provided for discriminator ltering. f(4:0) filter select. for data recirculated to the input of the fir processor by path 0 or from the cartesian to polar coordinate converter output, these bits tell which lter sequencer step gets it as an input. 31:29 round select 31:29 round select (add rounding bit at speci ed location). 000 2 -24 , use this code when downshifting is not used. 001 2 -23 010 2 -22 011 2 -21 100 2 -20 101 2 -19 110 2 -18 11 1 no rounding. provided for use with the coef cient down-shift bits. 41:32 data memory block start memory block base address, 0-1023, 0-383 are valid for the ISL5216. 44:42 data memory block size 44:42 block size. 0 8 1 16 2 32 364 4 128 5 256 6 512 7 1024 (modulo addressing is used). 52:45 data memory block-to-block step 0-255, usually equal to the decimation factor for the fir in this instruction. 62:53 coefficient memory block start memory base address of coefficients, 0-1023, 0-511 are valid on the ISL5216. instruction bit fields (continued) bit positions function description ISL5216
21 63 reserved set to 0. 66:64 coefficient memory block size 66:64 memory block size 08 116 2 32 364 4 128 5 256 6 512 7 1024 (modulo addressing can be used, but is usually not needed. if not needed this bit field can always be set to 7). 75:67 number of fir outputs number of fir outputs (range is 1 to 512, load w/ desired value minus 1). this is usually equal to the total decimation that follows the filter. 84:76 read address pointer step read address pointer step (for next run). this is usually equal to the filter decimation times the number of outputs from the instruction. 93:85 initial address offset initial address offset (to addrb). this is the offset from the start address to other end of filter. for symmetric filters, usually equal to -1 x (number of taps -1). 95:94 reserved set to 0 104:96 memory reads per fir output this is based on the number of taps (load with value below minus 1). t ype v alue symmetric, even number of taps (taps/2) or oor((taps+1)/2). symmetric, odd number of taps (taps+1)/2 or oor((taps+1)/2). decimating hbf (taps+5)/4. asymmetric taps. complex taps . resampling taps/phase (six taps per phase for the rom?d coef cients provided). interpolating hbf (taps+5)/4-1 . 106:105 clocks per memory read set to 0 for all but complex fir, which is set to 1. 115:107 data memory step size 1 (addra) step size for all but the last tap computation of the fir. set to -2 for hbf, -1 otherwise. 117:116 data memory step size 2 (addra) step size for last tap computation. set to -1. 117:116 step size 0 0 1 -1 2 -2 3 step size value. 119:118 data memory address offset step (addrb) step size for opposite end of symmetric filter. set to +2 for decimating hbf, to +1 for others (the b data is not used for asymmetric, resampling, and complex filters). 122:120 coefficient memory step size (addrc) usually set to 1. 122:120 step size 00 1 1 2 2 34 4 8 5 16 6 32 764 instruction bit fields (continued) bit positions function description ISL5216
22 basic instruction set examples 1. wait for number of input samples > threshold 127:9 = 0 8:0 = 001 0000,0000,0000,0001h 2. jump unconditional 127:9 = 0 8:0 = 1jjjjj111b e xample: jump to step 0= 0000,0000,0000,0107h 3. jump rsco (jump on resampler nco carry output) 127:9 = 0 8:0 = 1jjjjj101b e xample: jump rsco, step 0= 0000,0000,0000,0105h 4. jump rsco (jump on no resampler nco carry output) 127:9 = 0 8:0 = 1jjjjj100b e xample: jump rsco , step 0 = 0000,0000,0000,0104h 5. nop single clock 127:9 = 0 8:0 = 010000000b nop1 = 0000,0000,0000,0080h 6. load loop counter 127:21 = 0 20:9 = loop counter preload (tested against 0) 8:0 = 010000100b e xample: ldlpcntr 14 = 0000,0000,0000,1c84h single fir basic program this is the basic program for a single fir. this program applies to decimation ?ters (including decx1) that are symmetric or asymmetric (but not complex). the fir output is routed through path a with the agc enabled. 125:123 coefficient memory block-to-block step (addrc) usually set to 0. 125:123 step size 0 0 1 1 2 2 3 4 4 8 5 16 6 32 7 64 127:126 reserved set to 0 instruction bit fields (continued) bit positions function description 0 - wait for enough samples 0000 0000 0000 0000 0000 0000 0000 0000 127:96 00000000h 0000 0000 0000 0000 0000 0000 0000 0000 95:64 00000000h 0000 0000 0000 0000 0000 0000 0000 0000 64:32 00000000h 0000 0000 0000 0000 0000 0000 0000 0001 31:0 00000001h 1 - fir 0000 0001 0101 1111 1111 100r rrrr rrrr 127:96 015ff---h 00tt tttt tttd dddd dddd 0000 0000 0111 95:64 -----007h 0000 1000 0000 0000 0000 1010 0000 0000 63:32 08000a00h 0000 1011 0000 0000 0fff fff0 1100 1000 31:0 0b00--c8h 2 - jump to step 0 0000 0000 0000 0000 0000 0000 0000 0000 127:96 00000000h 0000 0000 0000 0000 0000 0000 0000 0000 95:64 00000000h 0000 0000 0000 0000 0000 0000 0000 0000 64:32 00000000h 0000 0000 0000 0000 0000 0001 0000 0111 31:0 00000107h four bit fields must be filled in: f - filter type (this example applies to types 1-5) d - decimation (also loaded into wait threshold) t - number of taps minus 1 r - clocks/calculation (=floor((taps+1)/2) for symmetric, = taps for asymmetric) the rest of the instruction ram would typically be filled with nop instructions: 0000 0000 0000 0000 0000 0000 0000 0000 127:96 00000000h 0000 0000 0000 0000 0000 0000 0000 0000 95:64 00000000h 0000 0000 0000 0000 0000 0000 0000 0000 64:32 00000000h 0000 0000 0000 0000 0000 0000 1000 0000 31:0 00000080h ISL5216
23 w ait preload register this register (iwa register *00ch) holds the wait counter threshold and two wait counter decrement values. each is ten bits. the wait counter counts ?ter input samples until the count is greater than or equal to the threshold. the wait counter then asserts a ?g to the ?ter compute engine. the wait counter threshold is typically set to the total number of input samples needed to generate a ?ter output. a ?ait instruction in the ?ter compute engine waits for the wait counter ?g signal before proceeding. the ?ter compute engine would then compute all the ?ters needed to produce an output and then would jump back to the ?ait instruction. the wait counter is implemented with an accumulator. this allows the count to go beyond the threshold without losing the sample count. two bits in the fir instruction decrement the wait counter (subtract a value) and select the decrement v alue. the decrement value is typically the number of samples needed for an output (total decimation), though it can be a different value to ignore inputs and shift the timing. (the read pointer increment must be adjusted as well.) the ?ter compute engine sequencer does not count each input sample or track whether each ?ter is ready to run. instead, the wait counter is used to determine whether there are enough input samples to compute all the ?ters in the chain and get an output sample from the entire ?ter chain. this adds some additional delay since intermediate results are not precalculated, but it simpli?s the ?ter control. the n umber of samples needed is equal to the total decimation of the ?ter chain. for example, with two decimate-by-2 halfband ?ters and a decimate-by-2 shaping fir, the total decimation would be 8 so 8 samples are needed to compute an output. hbf1 would compute four times to generate four inputs to hbf2. hbf2 would compute twice to generate the two samples that the shaping fir needs to compute an output. resampler t he resampler is an nco controlled polyphase ?ter that allows the output sample rate to have a non-integer relationship to the input sample rate. the ?ter engine can be viewed conceptually as a ?ed interpolate-by-32 ?ter, followed by an nco controlled decimator. the resampler nco is similar to the carrier nco phase accumulator but does not include the sin/cos section. it provides the resampler output pulse and associated phase information to logic that determines the nearest of the 32 av ailable phase points for a given output sample. the center frequency (output sample rate) control is double b uffered, i.e., the control word is written to one register via the microprocessor interface and then transferred to another (active) register on a write to the timing nco center frequency update strobe location (iwa register *009h) or on a synci (if enabled). as it is not possible to represent some frequencies e xactly with an nco and therefore, phase error accumulates ev entually causing a bit slip, the phase accumulator length has been sized to where the error is insigni?ant. at a resampler input rate of 1mhz, half an lsb of error in loading the 56-bit accumulator is 7*10 -12 degrees. after one year, the accumulated phase error is only 0.2*10 -3 of a bit (< 1/10 of a degree). the nco update by the ?ter compute engine is typically at the resampler's input rate, and is enabled by the incrrs bit in the ?ter instruction word. the nco then rolls ov er at a fraction of the resampler input rate. the output sample rate is (f in / 2 56 )*n, where f in is the resampler input r ate and n is the phase accumulated per resampler input sample (iwa registers *007h and *008h). n must be between 40000000000000h and ffffffffffffffh corresponding to decimations from 4 to (1 + 2 -56 ), respectively. generally, however, a range of 80000000000000h to ffffffffffffffh (providing decimation from 2 to (1 + 2 -56 ), respectively) is suf?ient for most applications since integer decimation can be done more ef?iently in the preceding cic and halfband ?ters. the resampler changes the sample rate by computing an output at each input which causes the nco to roll over. if an output is to be computed, the nearest of the 32 available points from the polyphase structure is used. because outputs are generated only on input samples which cause an nco roll over, output samples will in general not be ev enly spaced. the fifo/timer block between the ?ter compute engine and the agc is provided to improve output sample spacing for presentation to the serial data output fo r matter section (see iwa=*00ah bits 11:0 description). if d/a converted directly, there would be artifacts from the uneven sample spacing, but if the samples are stored and reconstructed at the proper rate (the nco rollover rate), the signal would have only the distortion produced by interpolation image leakage and the time quantization (phase jitter) due to the ?ite number of interpolation ?ter phases. the polyphase ?ter has 192 coef?ients implemented as 32 phases, each of which having 6 taps (6 x 32 = 192). these coef?ients are provided in table 54. the stopband attenuation of the ?ter is greater than 60db, as shown in figures 18?0. the signal to total image power ratio is approximately 55db, due to the aliasing of the interpolation images. if the output is at least 2x the baud rate, the 32 interpolation phases yield an effective sample rate of 64x the baud rate or approximately 1.5% (1/64 resampler input sample period) maximum timing error. agc the agc section provides gain to small signals, after the large signals and out-of-band noise have been ?tered out, to ensure that small signals have suf?ient bit resolution in the output formatter. the agc can also be used to manually set the gain. the agc optimizes the bit resolution for a variety of input amplitude signal levels. the agc loop automatically adds gain to bring small signals from the lower bits of the ISL5216
24 24-bit programmable fir ?ter output into the range of 20-bit and shorter words in the output section. without gain control, a signal at -72dbfs = 20log 10 (2 -12 ) at the input would have only 4 bits of resolution at the output if a 16 bit word length w ere to be used (12 bits less than the full scale 16 bits). the potential increase in the bit resolution due to processing gain of the ?ters can be lost without the use of the agc. figure 4 shows the block diagram for the agc section. the fir ?ter data output is routed to the cartesian to polar coordinate converter after passing through the agc m ultipliers and shift registers. the magnitude output of the cartesian to polar coordinate converter is routed through the a gc error detector, the agc error scaler and into the agc loop ?ter. this ?tered error term is used to drive the agc m ultiplier and shifters, completing the agc control loop. the agc multiplier / shifter portion of the agc is identi?d in figure 4. the gain control from the agc loop ?ter is sampled when new data enters the multiplier / shifter. the limit detector detects over?w in the shifter or the multiplier and saturates the output of i and q data paths independently. the shifter has a gain from 0 to 90.31db in 6.021db steps, where 90.31db = 20log 10 (2 n ) when n = 15. the mantissa provides up to an additional 6.02db of gain. the gain in db from the mantissa is: 20log 10 [1+(x)2 -14 ], where x is the fractional part of the mantissa interpreted as an unsigned integer ranging from 0 to 2 14 - 1. thus, the agc multiplier / shifter transfer function is e xpressed as: a gc mult/shift gain = 2 n [1+ (x)2 -14 ] where n, the shifter exponent, has a range of 0ISL5216
25 in db, this can be expressed as: (agc mult/shift gain)db = 20 log 10 (2 n [1 + (x)2 -14 ]) the full agc range of the multiplier / shifter is from 0db to 20log 10 [1+(2 14 -1)2 -14 ] + 20log 10 [2 15 ] = 96.329db. the 16 bit resolution of the mantissa provides a theoretical am modulation level of -96dbc (depending on loop gain, settling mode and snr). this effectively eliminates am spurious components caused by the agc resolution. the cartesian to polar coordinate converter accepts i and q data and generates magnitude and phase data. the magnitude output is determined by the equation: where the magnitude limits are determined by the maximum i and q signal levels into the cartesian to polar converter. t aking fractional 2's complement representation, magnitude r anges from 0 to 2.329, where the maximum output is the agc loop feedback path consists of an error detector, error scaling, and an agc loop ?ter. the error detector subtracts the magnitude output of the coordinate converter from the programmable agc threshold value. the agc threshold value is set in iwa register *012h and is equal to 1.64676 times the desired magnitude of the i1/q1 output. note that the msb is always zero. the range of the agc threshold value is 0 to +3.9999. the agc error detector output has the identical range. the loop gain register values adjust the response / settling time of the agc loop. the loop gain is set in the agc error scaling circuitry, using four values in two sets of programmable mantissa and exponent pairs (see iwa register *010h). each set has both an attack and a decay gain. this allows asymmetric adjustment for applications such as vox systems where the signal turns on and off. in these applications, the gains would be set for fast attack and slow decay so that the part decreases the gain quickly when the signal turns on, but increases the gain slowly when the signal turns off (in anticipation of it turning back on shortly). f or ?ed gains, either set the upper and lower agc limits to the same value, or set the limits to minimum and maximum gains and set the agc attack and decay loop gains to zero. the mantissa, m, is a 4-bit value which weights the loop ?ter input from 0.0 to 15 / 2 4 = 0.9375. the exponent, e, de?es a shift factor that provides additional weighting from 2 0 to 2 -15 . t ogether the mantissa and exponent de?e the loop gain as given by, a gc loop gain = m lg 2 -4 2 -(15-e lg ) where m lg is a 4-bit binary mantissa value ranging from 0 to 15, and e lg is a 4-bit binary exponent value ranging from 0 to 15. the composite (shifter and multiplier) agc scaling gain range is from 0.0000 to 2.329(0.9375)2 0 = 0.0000 to 2.18344. the scaled gain error can range (depending on threshold) from 0 to 2.18344, which maps to a ?ain change per sample range of 0 to 3.275db / sample. t he agc attack and decay gain mantissa and exponent values f or loop gains 0 and 1 are programmed into iwa register *010h. the pdc provides for the storing of two values of agc attack and decay scaling gains to allow for quick adjustment of the loop gain by simply setting iwa register *013h bits 9 and 10 accordingly. possible applications include acquisition / tracking, no burst present / burst present, strong signal / weak signal, track / hold, or fast / slow agc values. the agc loop ?ter consists of an accumulator with a built in limiting function. the maximum and minimum agc gain limits are provided to keep the gain within a speci?d range and are programmed by 16-bit upper and lower limits using the following the equation: a gc gain limit = (1 + m agc 2 -12 ) 2 e (agc gain limit)db = (6.02)(eeee) + 20 log(1.0+0.mmmm mmmm mmmm) where m is a 12-bit mantissa value between 0 and 4095, and e is the 4-bit exponent ranging from 0 to 15. iwa register *011h bits 31:16 are used for programming the upper limit, while bits 15:0 are used to program the lower limit. the fo r mat for these limit values are: (31:16) or (15:0): e e e e m m m m m m m m m m m m f or a gain of 0 1. m m m m m m m m m m m m * 2 e e e e and the possible range of agc limits from the previous equations is 0 to 96.328db. the bit weightings for the agc loop feedback elements are detailed in table 55. using agc loop gain, the agc range, and expected error detector output, the gain adjustments per output sample for the loop ?ter section of the digital agc can be given by a gc slew rate = (1.5 db) (threshold - (mag * 1.64676)) x (m lg ) (2 -4 ) (2 -(15 - e lg ) ) the loop gain determines the growth rate of the sum in the loop accumulator which, in turn, determines how quickly the a gc gain scales the output to the threshold value. since the log of the gain response is roughly linear, the loop response can be approximated by multiplying the maximum agc gain error by the loop gain. the expected range for the agc rate is ~ 0.000106 to 3.275db / output sample time for a threshold of 1/2 scale. for a full scale error, the minimum non-zero agc slew rate would be approximately 0.0002db / output or 20db / sec at 100ksps. the maximum gain would be 6db / output. this much gain, however, would probably result in signi?ant am on the output. the maximum agc response is given by: a gc response max = (input)(cart/polar gain)(error det. gain)(agc loop gain)(agc output weighting) r 1.64676 i 2 q 2 + = r 1.64676 1 2 1 2 + 1.64676x1.414 2.329 === ISL5216
26 the loop gain mantissas and exponents are set in iwa register *010h, with iwa register *013h selecting loop gain 0 or 1 and the settling mode. in the ISL5216, a synci signal will clear the agc loop ?ter accumulator if gwa register f802h bit 27 is set. this sets the agc to unity gain or to the lower gain limit (iwa *011h bits 15:0) if it is larger than unity. the settling mode of the agc forces either the mean or the median of the signal magnitude error to zero, as selected by iwa register *013h bit 8. for mean mode, the gain error is scaled and used to adjust the gain up or down. this proportional scaling mode causes the agc to settle to the ?al gain value asymptotically. this agc settling mode is preferred in many applications because the loop gain adjustments get smaller and smaller as the loop settles, reducing any am distortion caused by the agc. with this agc settling mode, the proportional gain error causes the loop to settle more slowly if the threshold is small. this is because the maximum value of the threshold minus the magnitude is smaller. also, the settling can be asymmetric, where the loop may settle faster for ?ver range signals than for ?nder range signals (or vice versa). in some applications, such as burst signals or tdma signals, a very fast settling time and/or a more predictable settling time is desired. the agc may be turned off or slowed down after an initial agc settling period. the median mode minimizes the settling time. this mode uses a ?ed gain adjustment with only the direction of the adjustment controlled by the gain error. this makes the settling time independent of the signal level. f or example, if the loop is set to adjust 0.5db per output sample, the loop gain can slew up or down by 16db in 16 symbol times, assuming a 2-samples-per-symbol output sample rate. this is called a median settling mode because the loop settles to where there is an equal number of magnitude samples above and below the threshold. the disadvantage of this mode is that the loop will have a wander (dither) equal to the programmed step size. for this reason, it is advisable to set one loop gain for fast settling at the beginning of the burst and the second loop gain for small adjustments during tracking. in the median mode, the maximum gain step is approximately 3db / output. the step is ?ed (it does not decrease as the error decreases) so a large gain will cause am on the output at least that large. the ?ed gain step is set by the programmable agc loop gain register iwa *010h. the agc gain limits register sets the minimum and maximum limits on the agc gain. the total agc gain range is 96db, but only a portion of the range should be needed for most applications. for example, with a 16-bit output to a processor, the 16 bits may be suf?ient for all but 24db of the total input range possible. the agc would only need to have a range of 24db. this allows faster settling and the agc w ould be at its maximum gain limit except when a high power signal was received. the agc may be disabled by setting both limits to the same value. the median settling mode is enabled by setting iwa register *013h bit 8 to 0 while the mean loop settling mode is selected by setting bit 8 to 1. cartesian to polar converter the cartesian to polar converter computes the magnitude and phase of the i/q vector. the i and q inputs are 24 bits wide. the converter phase output is 18 bits wide and is routed to the output formatter and frequency discriminator. this 18-bit output phase can be interpreted either as twos complement (-0.5 to approximately 0.5) or unsigned (0.0 to approximately 1.0), as shown in figure 5. the phase conversion gain is 1/2 . the 24-bit magnitude is unsigned binary format with a range from 0 to 2.32. the magnitude conversion gain is 1.64676. the msb of the magnitude (the sign bit) is always zero. 0 + /2 - /2 0 /2 3 /2 000000 7fffff ffffff 3fffff c00000 000000 800000 40 0000 bfffff i q i q ff ffff 3fffff 40 0000 7fffff 800000 c00000 bfffff figure 5. phase bit mapping of coordinate converter output ISL5216
27 ta b le 1 details the phase and magnitude weighting for the 16 bits output from the pdc. the magnitude and phase computation requires 17 clocks f or full precision. at the end of the 17 clocks, the magnitude and phase are latched into a register to be held for the next stage, either the output formatter or frequency discriminator. if a new input sample arrives before the end of the 17 cycles, the results of the computations up until that time, are latched. this latching means that an increase in speed causes only a decrease in accuracy. table 2 details the exact accuracy that can be obtained with a ?ed number of clock cycles up to the maximum of 17. the input magnitude and phase errors induced by normal snr values will almost always be worse than the cartesian to polar conversion. t able 1. mag/phase bit weighting bit magnitude phase ( o ) 23 (msb) 2 2 180 22 2 1 90 21 2 0 45 20 2 -1 22.5 19 2 -2 11.25 18 2 -3 5.625 17 2 -4 2.8125 16 2 -5 1.40625 15 2 -6 0.703125 14 2 -7 0.3515625 13 2 -8 0.17578125 12 2 -9 0.087890625 11 2 -10 0.043945312 10 2 -11 0.021972656 92 -12 0.010986328 82 -13 0.005483164 72 -14 0.002741582 62 -15 0.001370791 52 -16 0.0006853955 42 -17 0.00034269775 32 -18 0.00017134887 22 -19 0.00008567444 12 -20 0.00004283722 0 (lsb) 2 -21 0.00002141861 t able 2. mag/phase accuracy vs clock cycles clocks magnitude error (% f s ) phase er- ror (deg.) ? phase er- ror (% f s ) 6 0.065 3.5 2 7 0.016 1.8 1 8 0.004 0.9 0.5 9 <0.004 0.45 0.25 10 <0.004 0.22 0.12 11 <0.004 0.11 0.062 12 <0.004 0.056 0.03 13 <0.004 0.028 0.016 14 <0.004 0.014 0.008 15 <0.004 0.007 0.004 16 <0.004 0.0035 0.002 17 <0.004 0.00175 0.001 ? assumes 180 o = f s . ISL5216
28 serial data output formatter section serial data output control register the serial data output control register contains sync position and polarity (synca, b, c or d), channel multiplexing, and scaling controls for the sd1x and sd2x (x = a, b, c or d) serial outputs (see microprocessor interface section, iwa register *014h). channel routing mask the multiplexing mask bits for each channel (see microprocessor interface section, iwa register *014h bits 19:16 for sd1x or bits 15:12 for sd2x) can be used to enable that channels output to any of the four serial outputs. these bits control the and gates that mask off the channels, so a z ero disables the channels connection to that output. to con?ure more than one channel's output onto a serial data output, the sd1 serial outputs and syncs from each channel (0,1, 2 and 3) are brought to each of the sd1 serial output sections and the sd2 serial outputs are brought to each of the sd2 serial output sections (the syncs are only associated with the sd1 serial outputs). there, the four outputs are and-ed with the multiplexing mask programmed in the serial data output control registers of channels 0 thru 3 and or-ed together. by gating off the channels that are not w anted and delaying the data from each desired channel appropriately, the channels can be multiplexed into a common serial output stream. it should be noted that in order to multiplex multiple channels onto a single serial data stream the channels to be multiplexed must be synchronous. serial data output time slot content/format registers these four registers are used to program the content and fo r mat of the serial data output sequence time slots (see microprocessor interface section, iwa registers *015h - *018h). there are seven data time slots that make up a serial data output stream. the number of data bits and data format i1 m u x m u x o r & & & & & & & & & & & & fixed to float delay sync gen p arallel to serial p arallel to serial sequencer 1 sd2x 16 sequencer 2 r ound r ound m u x m u x r e g to p interface syncx sd1x output section zero q1 mag phase i2 q2 gain strobe zero note: each serial output has 7 time slots. each slot can contain i1, q1, i2, q2, mag, phase or d /dt, agc gain, or zeros. each slot can be 4, 6, 8, 10, 12, 16, 20, 24, or 32 (24 + 8 zeros) bits or disabled. output 1 can also be 32-bit ?ating point. slots can be disabled. a disabled slot will be one clock wide if there are other active slots following. a sync can be asserted with any or all slots in output 1. the serial outp ut can be delayed from 0 to 4095 serial clock periods from the input strobe. the serial outputs are always msb ?st. the sync position applies to all ti me slots and can be one clock prior to the ?st data bit, aligned with the ?st data bit, or one clock after the last data bit. o r o r to / from o ther channels ISL5216
29 of each slot is programmable as well as whether there will be a sync generated with the time slot (the syncs are only associated with the sd1 serial outputs). any of seven types of data or zeros can be chosen for each time slot. eight bits are used to specify the content and format of each slot. as an example, suppose we wanted to output 32-bit i and q v alues from channels 0 and 1 into the sd1a serial data output stream, we would program the following settings in the channels serial data output control and content/format registers: channel 0: delay = 0 (iwa = 0014h, bits 11:0 = 0); ?st data time slot = i, 32-bit, sync pulse generated (iwa = 0015h, bits 7:0 = 0xc9); second data time slot = q, 32-bit, no sync pulse (iwa = 0015h, bits 15:8 = 0x4a); third through seventh data time slot = zero and no sync, (iwa = 0015h, bits 31:16 = 0 and iwa = 0016h, bits 31:0 = 0); enable the sd1a serial output for this channel in the serial routing mask (iwa = 0014h, bit 16 = 1). channel 1: delay = 64 (iwa = 1014h, bits 11:0 = 0x40); ?st data time slot = i, 32-bit, sync pulse generated (iwa = 1015h, bits 7:0 = 0xc9); second data time slot = q, 32-bit, no sync pulse (iwa = 1015h, bits 15:8 = 0x4a); third through seventh data time slot = zero and no sync, (iwa = 1015h, bits 31:16 = 0 and iwa = 1016h, bits 31:0 = 0); enable the sd1a serial output for this channel in the serial routing mask (iwa = 1014h, bit 16 = 1). the resulting order is ch0 i ?st, then ch0 q, ch1 i, and ch1 q with sync pulses generated in the i data slots. the position of the sync pulses relative to the data slot may be programmed with iwa register *014h bits 25:24. setting delay = 64 offsets channel 1s 32-bit i and q data by 64 clocks so that it immediately follows the 64 bits of data from channel 0. in this way channel 1s ?st and second time slots follow channel 0s second time slot. instead of using the delay to offset channel 1s data, channel 0 could have been con?ured to output 32 bits of i in the ?st slot, 32 bits of q in the second slot, 32 bits of zeros in the third slot and 32 bits of zeros in the fourth slot. channel 1 could then be con?ured to output 32 bits of zeros in the ?st and second slots, 32 bits of i in the third slot and 32 bits of q in the fourth slot. as the channel outputs are ord together, the zero slots do not interfere with data slots. the ISL5216 microprocessor ( p) interface consists of a 16-bit bidirectional data bus, p(15:0), three address pins, add(2:0), a write strobe (wr ), a read strobe (rd ) and a chip enable (ce ). indirect addressing is used for control and con?uration of the ISL5216. the control and con?uration data to be loaded is ?st written to a 32-bit holding register at direct (external) addresses add(2:0) = 0 and 1, 16 bits at a time. the data is then transferred to the target register, synchronous to the clock, by writing the indirect (internal) address of the target register to direct (external) address 2, add(2:0) = 2. the interface generates a synchronous one clock cycle wide strobe to transfer the data contained in the holding register to the target register. the synchronization and write process requires four clock periods. new data should not be written to the holding register until after the synchronization period is over. ISL5216
30 microprocessor interface data reads can be direct, indirect or fifo-like depending on the data that is being read. the status register is read directly at direct (external) address 3, add(2:0) = 3. readback of internal registers and memories is indirect. the 16-bit indirect (internal) address of the desired read source is ?st written to direct (external) address 3, add(2:0) = 3, to select the data. the data can then be read at direct (external) addresses add(2:0) = 0 and 1 (bits 15:0 at address 0 and 31:16 at address 1). the data types available via the indirect read are listed in the tables of indirect read address (ira) registers. (note that the phold bit contained in the target register at indirect write address (iwa) = *00ah must be set to suspend the ?ter compute engine before the coef?ient ram and instruction bit ?lds can be written to or read from.) the ISL5216 output data from the four channels is available through the microprocessor interface as well as from the serial data outputs. a fifo-like interface is used to read the output data through the microprocessor interface. when new output data is available, it is loaded into a fifo in a user programmed order (for details on the programming order see global write address (gwa) = f820h - f83fh). it can then be read, 16 bits at a time, at direct address 2, add(2:0) = 2. at the end of each read, the fifo counter is advanced to the next location. this allows a dma controller to read all of the data with successive reads to a single direct address. no writes or other interaction is required. the fifo counter is reset and reloaded by each interrupt signal, see gwa f802h. new data in the fifo is also indicated in the status register located at direct address add(2:0) = 3 if a polled mode is preferred. the eight data types available, for each of the four channels, via this interface are: i(23:8), i(7:0)+8 zeroes, q(23:8), q(7:0)+8 zeroes, mag(23:8), mag(7:0)+8 zeroes, phase (15:0), and agc (15:0). the upper bits of i, i.e., i(23:8), and q, i.e., q(23:8), are not rounded to 16 bits. this interface can read the data from all the channels that are synchronized. however, because a common fifo is used and the fifo is reset and reloaded by each interrupt, it cannot be used for asynchronous channels. the direct address map for the microprocessor interface is shown in the table of microprocessor direct read/write addresses and the procedures for reading and writing to this interface are provided below. the bit ?ld details for each indirect read and write address is provided in the table of indirect read address (ira) registers, tables of indirect write address (iwa) registers and tables of global write address (gwa) registers in the following sections. mux 3 2 1 0 r e g > r e g > f f > f f > f f > f f > r e g > and m u x e s d e c o d e rd p(15:0) wr a(2:0) clk = 0 = 1 = 2 or 3 = 2 en en en 15:0 31:0 31:16 15:0 31:16 31:0 internal read data bus internal read signal syncd wr to t arget registers internal address bus internal write data bus special low metastability cell rst ce (gating not shown) l a t c h from output fifo status g a t i n g ISL5216
31 p read/write procedures to write to the internal registers: 1. load the indirect write holding registers at direct address add(2:0) = 0 and 1 with the data for the internal register (16 or 32 bits depending on the internal register being addressed). 2. write the indirect write address of the internal register being addressed to direct address add(2:0) = 2 (note: a write strobe to transfer the contents of the indirect write holding register into the target register specified by the indirect address will be generated internally). 3. wait four clock cycles before performing the next write to the indirect write holding registers. to write to the internal instruction/coef?ient rams: 1. put the ?ter compute engine of the desired channel into the hold mode by setting bit 31 of the filter compute engine / resampler control register located at iwa = *00ah (note: the * is equal to 0, 1, 2 or 3 depending on the channel being addressed). by setting bit 31 all fir processing for the channel addressed will be stopped. 2. load the indirect write holding registers at direct address add(2:0) = 0 and 1 with the data for the internal ram location. 3. write the indirect write address of the internal ram location being addressed to direct address add(2:0) = 2 (note: a write strobe to transfer the contents of the indirect write holding register into the ram location specified by the indirect address will be generated internally). 4. wait four clock cycles before performing the next write to the indirect write holding registers. 5. after all data has been loaded, set the phold bit back low. to read internal registers: 1. write the indirect read address of the internal register being addressed to direct address add(2:0) = 3. 2. perform a read of the indirect read holding registers at direct address add(2:0) = 0 and 1. to read data outputs: 1. set up the p fifo read order control register (located at global write address (gwa) = f820h - f83fh). 2. wait for interrupt or check ?g. 3. data can then be read, 16 bits at a time, at direct address 2, add(2:0) = 2. 4. repeat step 3 for desired number of words. 5. go to step 2. to read instruction/coef?ient values: 1. put the ?ter compute engine of the desired channel into the hold mode by setting bit 31 of the filter compute engine / resampler control register located at iwa = *00ah (note: the * is equal to 0, 1, 2 or 3 depending on the channel being addressed). 2. write the indirect read address (ira) of the internal ram/rom location being addressed to direct address add(2:0) = 3. 3. wait four clock cycles. 4. read the data at direct address add(2:0) = 0 and 1. 5. after all the data has been read, set the phold bit back low. recommended ISL5216 con?uration procedure following a hardware reset (i.e. resetb is pulsed low): 1. load global write address registers gwa f800h - gwa f808h and gwa f820h - gwa f83fh. 2. for each signal processing channel (0-3): a. set phold bit located at indirect write address register iwa *00ah bit 31. b. load filter compute engine instruction rams. c. load filter compute engine coef cient rams. d. load iwa registers *000h - *019h and *01ch. (clear the phold bit in register iwa *00ah bit 31). e. wait 32 clocks (clk) for the reset to complete in the filter compute engine. 3. generate a synci to enable the input data or to synchronize the processing to external events or generate a synco and internal synci by writing to gwa f80ah. a write to f809h will also work if the synco pin is externally connected to the synci pin. recommended ISL5216 channel recon?uration procedure: 1. disable the serial output for the desired channel in register gwa f801h - bits 3:0. 2. disable the interrupts from the channel in register gwa f802h bits 31, 23, 15, and 7. 3. set the phold bit in register iwa *00ah bit 31 to give the processor access to the filter compute engine instruction rams and coef?ient rams. 4. load the new ?ter con?uration. 5. load any other channel registers. 6. clear the phold bit in register iwa *00ah bit 31. 7. do a software channel reset by writing to iwa *019h. 8. enable the serial outputs (gwa f801h) and interrupts (gwa f802h). 9. generate a synci to enable the input data or to synchronize the processing to external events or generate a synco by writing to gwa f80ah or f809h (if synco pin is tied to synci pin). ISL5216
32 jtag jtag: the ieee1149.1 joint test action group boundary scan standard operational codes shown in table 3 below are supported. a separate application note is available with implementation details. built in self test self-test is initiated by resetting the part and loading a given con?uration register set and ?ter coef?ient set. the self- test replaces the user programmed input with a pn sequence and calculates a 16 bit signature from the output data. this signature is compared to a user-provided signature and the result is provided as a bit in the status register. the bist procedure is as follows: 1. con?ure the part as described in ?ecommended ISL5216 con?uration procedure following a hardware reset above. 2. (optional) load the 16 bit comparison signature into gwa f80bh bits 15:0. this value will be compared to the device-calculated signature and reported in the status register. the device-calculated signature may also be read and the comparison performed in the users microcontroller. 3. write 00000000h to f019h to perform a software reset of all channels. 4. write 00000001h to gwa f800h to start the ?st phase of the self test. 5. wait until bit 0 of f800h is cleared indicating the ?st phase of self test has completed. 6. write 00000000h to f019h to reset all channels again. 7. write 00000001h to gwa f800h to start the second phase of the self test. 8. wait until bit 0 of f800h is cleared indicating the second phase of self test has completed. 9. if a comparison signature has been supplied (step 2), bit 12 of the status register (direct read address register 3) is set to 1 if the signature matches the ISL5216-generated signature. 10. the ISL5216-generated signature may be read from gwa f80bh bits 31:16. the user-supplied signature (step 2) may be also be read back from bits 15:0. filter compute engine data ram test the ISL5216 provides read / write access to the data ram used by a channels ?ter compute engine. to access the data ram for testing, set bit 15 of gwa f800h. data must be written to the ram in q / i pairs - 24 bit q ?st, then 24 bit i. q and i samples are written to the ram using the indirect addresses shown in the table below (see to write to the internal registers above for the indirect write procedure). reading of the registers may occur in any order. the table below provides the valid address range in data ram test mode. note that addresses *000h - *6ffh are valid with the e xception of *300h - *3ffh. * = 0, 1, 2, or 3 for channels 0 through 3, respectively. f800h bit 15 must be cleared after data ram testing to return to normal operation. t able 3. jtag op codes supported instruction op code extest 0000 idcode 0001 sample/preload 0010 intest 0011 bypass 1111 data ram address map indirect address (note 18) data *000h q sample 0 *001h i sample 0 *002h q sample 1 *003h i sample 1 :: *2feh q sample 767 *2ffh i sample 767 *300h - *3ffh unused *400h q sample 768 *401h i sample 768 *402h q sample 769 *403h i sample 769 :: *6feh q sample 1535 *6ffh i sample 1535 *700h - *7ffh unused note: 18. denotes 0, 1, 2 or 3 for channels 0 - 3, respectively. ISL5216
33 table of microprocessor direct read/write addresses add(2:0) pins register description 0w r indirect write holding register, bits 15:0. 1w r indirect write holding register, bits 31:16. 2w r indirect write address register for internal target register (generates a write strobe to transfer contents of the write holding register into the target register specified by the indirect address, see also tables of indirect address registers). 3w r indirect read address register (used to select the read source of data - uses the same register as direct address 2 but generates a read strobe (for rams and agc) as needed instead of a write strobe). 0r d indirect read, bits 15:0. 1r d indirect read, bits 31:16. 2r d read register (fifo) - reads fifo data from output section (this location reads output data in the order loaded in global control indirect address registers f820-f83f. the fifo is automatically incremented to the next data location at the end of each read). 3r d status register p(15:0) bit description 15:13 unused. 12 bist signature comparison result: 1= success (signatures match) 11:6 read non-bus input pins (enix , reset , synci). 11 reset (note: this bit is inverted with respect to the reset input pin). 10 enia . 9 enib . 8 enic . 7 enid . 6 synci. 5:2 mask revision number. ISL5216 devices return 3 or higher (0, 1 and 2 were used for hsp50216). 1 level detector integration done. active high. 0 new fifo output data available (used for polling mode vs interrupt mode) active low. ISL5216
34 ta b les of indirect write address (iwa) registers note: these indirect write addresses are repeated for each channel. in the addresses below, the * ?ld is the channel select nibble. these bits of the indirect address select the target channel register for the data. values of 0 through 3 and f are valid. a channel select nibble value of f is a special case which writes the data to the same location in each of the four channels simultaneously. t able 4. channel input select/format register (iwa = *000h) p(31:0) function 24 upper side band/lower side band select for use in complex input mode. 23 for complex input mode: when set to 1, the i sample is taken when enix is active and the q sample is taken on the next clock. when set to 0, q sample is taken two clocks after enix is active. 22 complex input enable. set to 1 for complex input mode, 0 for real input mode. 21 if set, adjusts the alignment between input data enables and nco enables to allow unevenly spaced input samples in the gated input mode. this may be set to 0 to align processing delays with the hsp50216 if necessary. 20:18 floating point exponent saturation level. used with floating point modes to set the maximum exponent code level 000 to 111 . these bits are protection against overflow due to an invalid exponent for the programmed cic shift code. set to 111 to disable. 17 enables the new (ISL5216) floating point modes -- the 11, 12, 13 and 14-bit modes with 42 db of gain, and 15 and 16-bit modes with 18 db and 6 db ranges, respectively. the x-1 input must be used for 14, 15 and 16-bit modes. see floating point input mode bit mapping tables for details. 16 floating point mode select bit 2. used with iwa *000, bits 8:7 to select the floating point mode/format. see floating point i nput mode bit mapping tables for details. 15:13 channel input source selection - selects as the data input for the channel specified in the indirect address either a(15:0 ), b(15:0), c(15:0), d(15:0) or the p test input register as shown below: 15:13 source selected 000 a(15:0) 001 b(15:0) 010 c(15:0) 011 d(15:0) 100 p t est input register. this is provided for testing and to zero the input data bus when a channel is not in use. the global write address register for the p t est input register is f807h. 12 p test register input enable selection: 1 bit 11 of this register is used as the input enable. 0a one clock wide pulse generated on each write to lgwa f808h is used as the input enable. select 0 to write test data into the part. select 1 to input a constant or to disable the input for minimum power dissipation when an nco/mixer/cic section is unused. 11 p input enable. when bit 12 is set, this bit is the input enable for the p test register input. active low: 0 enabled 1 disabled. 10 parallel data input format: 0t wo?s complement (-full scale = 1000...0000, zero = 0000...0000, +full scale = 0111... 1111). 1o f fset binary (-full scale = 0000...0000, zero = 1000...0000, +full scale = 1111...1111). 9 fixed/floating point: 0 fixed point. 1 floating point. the 17-bit input bus is divided into 11 to 16 mantissa bits and 1 to 3 exponent bits depending on bits 17, 16, 8 and 7. see floating point input mode bit mapping tables for details. 8:7 floating point mantissa size select bits 0 and 1. see floating point input mode bit mapping tables for details. ISL5216
35 6:4 de-multiplex control. these control bits are provided to select a channel from a group of multiplexed channels. up to eight multiplexed data streams can be demultiplexed. these control bits select how many clocks after the enix signal to wait before taking the input sample. enix should be asserted for one clock period and aligned with the first channel of the multiplexed data set. for example, if four streams are multiplexed at half the clock rate, enix would align with the first clock period of the first stream, the second would start two clocks later, the next four clocks after enix , etc. the samples are aligned with enix (zero delay) at the input of the nco/mixer/cic stage at the next enix . 000 zero delay 111 seven clock periods of delay. all values from 0 through 7 are valid. 3 interpolated/gated mode select: 0 gated. the carrier nco and cic are updated once per clock when enix is asserted. 1 interpolated. the cic is updated every clock. the carrier nco is updated once per clock when enix is asserted. the input is zeroed when enix is high. 2 enable cof/cofsync inputs. when set, this bit enables two bits from the d(15:0) input data bus to be used as a carrier offset frequency input. 1 enable sof/sofsync inputs. when set, this bit enables two bits from the d(15:0) input data bus to be used as a resampler offse t frequency input. 0 enable pn. when set, a pn code, weighted by the gain in location *001, is added to the input samples at the output of the mixe r. t able 4. channel input select/format register (iwa = *000h) (continued) p(31:0) function t able 5. floating point mode details (iwa = *000h, bits 17, 16, 8 and 7) bit 17 bit 16 bit 8 bit 7 mantissa / exp exponent range (db) pin assignments: mantissa bits / exponent bits 0x 00 11 to 13 / 3 30 15:5 (4 or 3) (note 19) / 2:0 0x 01 12 to 13 / 3 24 15:4 (3) / 2:0 0x 10 13 / 3 18 15:3 / 2:0 0x 11 14 / 2 18 maximum (note 20) 15:2 / 1:0 100011 / 3 42 maximum 15:5 / (2 logical-or m1), 1, 0 100112 / 3 42 maximum 15:4 / (2 logical-or m1), 1, 0 101013 / 3 42 maximum 15:3 / (2 logical-or m1), 1, 0 101114 / 3 42 maximum 15:2 / m1, 1, 0 110015 / 2 18 maximum 15:1 / m1, 0 110116 / 1 6 maximum 15:0 / m1 111x invalid invalid invalid notes: 19. bits in parentheses are used as the shift gain allows. 20. modes with ?aximum?listed in exponent range use the cic? barrel shifter for gain, decreasing allowable cic decimation. ma ximum exponent range may be limited, if desired, to allow for larger cic decimation. t able 6. pn gain register (iwa = *001h) p(31:0) function 31:16 reserved, set to all 0?. 15:0 pn generator gain register. this input is provided to reduce the sensitivity of the receiver. a pn code, weighted by the va lue in this location, is added to the data at the output of the mixer. adding noise has the effect of increasing the receiver noise figure. one reason to do this would be to decrease the basestation cell size in small steps. this method is very accurate and repeatable an d can be done on a fdm channel by channel basis. it does, however, reduce the overall dynamic range. an alternate way is to add attenuation at the rf and adjust the whole range upward. this does not reduce the overall range but only shift it, with the shi ft being done on all channels simultaneously. ISL5216
36 t able 7. cic decimation factor register (iwa = *002h) p(15:0) function 15:0 load with the desired cic decimation factor minus 1. t able 8. cic destination fir and output enable/disable register (iwa = *003h) p(15:0) function 15:6 set to zero. 5:1 cic output destination (fir # in fir processor). usually set to 00001. 0 cic output enable. active high. when low, the data writes from the cic to the filter compute engine are inhibited. t able 9. carrier nco/cic control register (iwa = *004h) p(31:0) function 31:20 reserved, set to zero. 19:14 cic barrel shift control. 000000 is the minimum shift factor and 101111 (47 decimal) is maximum shift factor. 000000 = shift factor of 0; 011111 = shift factor of 31; 100000 = shift factor of 32; 101111 = shift factor of 47. this compensates for the cic filter gain of r n , where n is the number of enabled cic stages and r is the cic decimation factor. the equation used to compute the shift factor is: shift factor = 45 - ceiling(log 2 (r n )). use a shift of 45 decimal when bypassing the cic. note that shifts of 46 and 47 may cause loss of msbs. examples: nr shift factor 5 512 0 5830 13:9 cic stage bypasses. the integrator/comb pairs are numbered 1 thru 5, with 1 being the first integrator and first comb. bit 13 bypasses the first integrator/comb pair, bit 12 bypasses the second, etc. the first integrator is the largest. typically, the stages are enabled starting with stage 1 for maximum decimation range. 8:6 carrier phase shift. phase shifts of n*( /4), n = 0 to 7. these bits remain for backward compatibility with the hsp50216. for new designs, these bits should be set to 0 and the phase offset programmed into iwa *01ch. 5 clear feedback (test signal or for mixer bypass). 4 nco clear feedback on load. 3 update frequency on synci. redundant. set to1. see gwa register f802h. 2:1 number of carrier offset frequency (cof) serial input bits. the format is 2? complement, early sync, msb first: 00 8 01 16 10 24 11 32 0 enable serial carrier offset frequency (zeros the data already loaded via the cof/cofsync pins). to disable the cof shifting s ee iwa register *000h. t able 10. carrier nco center frequency register (iwa = *005h) p(31:0) function 31:0 carrier center frequency (ccf): this is the frequency control for the carrier nco. the center frequency control is double buffered. the contents of this regist er are transferred to the active register on a write to the ccf strobe location or on a synci (if load on synci is enabled). the carri er center frequency is: ccf*f clk /(2 32 ). ccf is a twos complement number and has a range of -2 31 to (2 31 -1). f clk is the input sample rate (enix assertion rate) for gated mode and the clock rate for interpolated mode. the value in the active register can be read at this address (the center frequency control before the serially loaded offset va lue is added). to read the value, either write this address to a(1:0) = 11 and then read at a(1:0) = 00 and 01, or read the value at a (1:0) = 00 and 01 after writing to this address and before writing a new address to either a(1:0) = 10 or 11. ISL5216
37 t able 11. carrier nco center frequency update strobe register (iwa = *006h) p(15:0) function n/a writing to this address generates a strobe that transfers the ccf value to the active frequency register. the transfer to th e active register can also be done using the synci pin to synchronize the transfer in multiple parts or to synchronize to an external ev ent. t able 12. timing nco frequency control register, msw (iwa = *007h) p(31:0) function 31:0 these are the upper 32 bits of the 56-bit timing (resampler) nco center frequency control. t able 13. timing nco frequency control register, lsw (iwa = *008h) p(31:0) function 31:8 these are the lower 24 bits of the 56-bit timing (resampler) nco center frequency control. 7:0 unused, set to zero. t able 14. timing nco center frequency load strobe register (iwa = *009h) p(31:0) function n/a a write to this location will update the resampler nco center frequency. t able 15. filter compute engine/resampler control register (iwa = *00ah) p(31:0) function 31 phold. when set, this bit stops the filter compute engine and allows the p access to the instruction and coefficient rams for reading and writing. on the high to low transition, the filter compute engine is reset (the read and write pointers are reset a nd the instruction at location 31 is fetched). 30 pshiftzerob. this bit, when set to zero, disables the coefficient shift bits (bits 9:8 of the master register when coefficient loading). 29 pen limit. this bit disables the data path saturation logic. provided for test. active high. set to 0 to disable the normal rom controlled limiting (anded with normal signal). 28:24 pz(4:0). these bits, when set to 0, zero the corresponding read pointer address bits. this allows the pointers to be aliased, i .e., multiple filters can access and/or modify the same pointer. they are provided to change filters, coefficients or decimation ove r a sequence. 23 unused, set to 0. 22 timing (resampler) nco ensync. if this bit is set, the center frequency is updated on a synci. set to 1. 21:20 rsrvrs(1:0). set to 01. 19 beginning/end . this bit selects whether the resampler nco is updated at the beginning of a fir computation or at the end of each fir output computation. usually, the resampler will be updated once at the beginning of each resampler computation and this wil l be bit set to 1. 1 once at the beginning of the fir instruction. 0 at the last tap of each of the instruction?s fir computations (once per output). 18 rsmodeselect. this bit selects whether the resampler is a phase shifter or a frequency shifter. 0 phase shift. it uses the top ve bits of the timing nco frequency to determine a phase shift and disables feedback in the timing nco phase accumulator?effect of the resampler is a constant phase shift. 1 frequency shift. effect of the resampler is a change in the sample rate. 17 rsco. this bit is provided to force the resampler nco carry when using the resampler as a phase shifter rather than for a fre quency shift. this bit must be set for phase shifting and cleared for frequency shifting. (the bit is or-ed with the normal carry.) 16 rs nco clear phase accumulator feedback on load. when this bit is set, the feedback in the resampler nco phase accumulator is zeroed whenever the center frequency word is updated. this forces the nco to a known phase so the phase of multiple channels can be aligned. 15 force nco load. this bit, when set, zeroes the feedback in the resampler nco phase accumulator. this is provided for test or to use the resampler for phase instead of frequency shifting. ISL5216
38 14 enable rs freq offset. this bit, when set, enables the serially loaded resampler offset frequency word. when zero, the offset is zeroed. to disable the shifting, see iwa register *000h. 13:12 serial input word size. these bits select the number of bits in the resampler offset frequency word (loaded serially via sof/sofsync). 00 8 bits 01 16 bits 10 24 bits 11 32 bits 11:0 fifodelay. a fifo is provided at the output of the filter compute engine to smooth the sample spacing when using the resamp ler or interpolation firs. in these filters, the outputs can be produced in bursts or with gaps. the fifo takes the samples in and outputs them based on a counter timeout. if the fifo is empty and the counter is at its terminal count (hold state), the data is passed through and the counter is reloaded. if the counter is not at terminal count, the data is held in the fifo until the counter times out. the fifo can hold up to 4 samples. the delay is programmed in clock periods. the value programmed is one less than the number of clocks of delay. set to 0 for a delay of one (fall through). the delay should be programmed to slightly less than the desired spacing to prevent overflow. t able 15. filter compute engine/resampler control register (iwa = *00ah) (continued) p(31:0) function t able 16. filter start offset register (iwa = *00bh) p(15:0) function 13:9 ram instruction number to which the offset is applied. 0?1. aliasing applies. used for polyphase filters. 8:0 amount of offset. offsets the data ram address for filter #n. this is used to offset the channels from each other when break ing the processing up among multiple channels for polyphase filters. for example, four channels can receive the same data at 8msps, fil ter and decimate by 8 to output at 1mhz. if the computations are offset by two samples each, then the outputs of the four channels can be multiplexed together to get an output sample rate of 4msps. with a 64msps clock, the composite filter could have more than 100 taps where a single channel would only be capable of around 24 taps at a 4mhz output. except in very rare circumstances, this value should be a negative number. t able 17. wait threshold/decrement value register (iwa = *00ch) p(31:0) function 31 ptestbit. this bit is provided as a microprocessor controlled condition code for the filter compute engine for conditional exec ution or synchronous startup. active high. 30 set to 0. 29:20 decrement value 1. positive number. 19:10 decrement value 0. positive number. usually set equal to the threshold (bits 9:0). 9:0 threshold. number of samples needed to run a filter set and produce an output. t able 18. reset write pointer offset register (iwa = *00dh) p(15:0) function 15:9 set to zero. 8:0 this parameter is the offset between filter compute engine read and write pointers on filter compute engine reset. on reset, the read and write pointers for all the filters are loaded, the read pointer with zero and the write pointer with this value. set to 0 f or a single filter and 2 for a multi-filter chain. t able 19. agc gain load register (iwa = *00eh) p(15:0) function 15:0 this location loads the agc accumulator. if the loop attack/decay gain is set to zero and this value is within the agc gain limits, the agc will hold this value. if not, the agc will be set to this gain (or to a limit) and then start to settle. format is four exponent bits (15:12), and 12 mantissa bits, (11:0). ISL5216
39 t able 20. agc gain read strobe register (iwa = *00fh) p(15:0) function 15:0 for rd ; n/a for wr writing to this location will sample the agc loop filter output (forward gain value) to stabilize it for reading. the value is read from this location after waiting the four clocks required for synchronization. t able 21. agc loop attack/decay gain values register (iwa = *010h) p(31:0) function 31:24 loop gain 0, decay gain value (signal decay, increase gain) 31:28 = eeee (exponent), 27:24 = mmmm (mantissa). 23:16 loop gain 1, decay gain value 23:20 = eeee (exponent), 19:16 = mmmm (mantissa). 15:8 loop gain 0, attack gain value (signal arrival, decrease gain) 15:12 = eeee (exponent), 11:8 = mmmm (mantissa). 7:0 loop gain 1, attack gain value 7:4 = eeee (exponent), 3:0 = mmmm (mantissa). t able 22. agc gain limits register (iwa = *011h) p(31:0) function 31:16 upper gain limit. see agc section. 15:0 lower gain limit. see agc section. t able 23. agc threshold register (iwa = *012h) p(31:0) function 15:0 agc threshold. equals 1.64676 times the desired magnitude of the i1/q1 output. t able 24. agc/discriminator control register (iwa = *013h) p(15:0) function 15:11 set to zero. 10 p agc loop gain select. 9 enable filter compute engine control of agc loop gain. when this bit is set, bit 28 in the filter compute engine destination f ield selects which loop gain to use with that filter output? gain error. setting bit 10 overrides this bit and forces a loop gain 1. 10:9 function 00 loop gain 1 ( p controlled) 10 loop gain 0 ( p controlled) 01 loop gain controlled by lter compute engine 11 loop 1 ( p override of lter compute engine) 8 mean/median. this bit controls the settling mode of the agc. mean mode settles to the mean of the signal and settles asymptoti cally to the final value. median mode settles to the median and settles with a fixed step size. this mode settles faster and more pre dictably, but will have more am after settling. 1 mean mode 0 median mode 7 dphi / dt strobe enable. set this bit to 1 to get a dphi/dt output without having to feed back through the filter compute engi ne. 6 unused. set to zero. 5 phaseoutputsel 1d /dt 0 phase 4:3 discshift(1:0). shifts the phase up 0-, 1-, 2-, or 3-bit positions, discarding the bits shifted off the top. this makes the phase modulo 360, 180, 90, or 45 degrees to remove psk modulation. the resulting phase is 18 bits. 2:0 discdelay(2:0). sets the delay, in sample times, for the d /dt calculation. 000 1 111 8 ISL5216
40 t able 25. serial data output control register (iwa = *014h) p(31:0) function 31:29 set to zero. 28 sync polarity 1 active low (low for one serial clock per word with a sync). 0 active high. 27:26 reserved, set to zero. 25:24 sync position. this applies to all time slots in the serial output. the sync programming is associated with the sd1x seria l output data stream (x = a, b, c, or d). 00 sync is asserted during the serial clock period prior to the rst data bit of the serial word (early sync). 01 sync is asserted during the clock period following the last data bit of the word (late sync). 1x sync is asserted during the serial clock period of the rst data bit of the serial word (coincident sync). 23:22 reserved, set to zero. 21:20 magnitude output scale factor. the magnitude output of the cartesian to polar coordinate conversion has bits weighted as: 2 (2 1 0.-1 -2 -3 -4 . . . ) the gain in the conversion is 0.82338. when using 16 bits, the range is such that the lsb has a weight of 0.00007 and the maxim um output is 2.32, both after the conversion gain. this corresponds to an i/q vector length of -83dbfs to +3dbfs. these control bi ts add gain (with saturation) for more resolution at the bottom of the scale. a code of 00 passes the magnitude unchanged, 01 shif ts the magnitude up one bit position?10 shifts by two positions and 11 shifts up three positions. the resulting bit weights and r ange (after conversion gain) for the unsigned numbers are: code bit weights dbfs 00 210 -1 -2...-11 -12 -13 +3 to -83 01 10 -1 -2 -3... -12 -13 -14 +3 to -89 10 0 -1 -2 -3 - 4... -13 -14 -15 +1.7 to -95 11 -1 -2 -3 -4 - 5... -14 -15 -16 -4.3 to -101 the upper limits on codes 00 and 01 are the same, but 01 has no leading zero. 19:16 serial data output sd1 routing mask. 0 disables. 1 enables. bit enabled output 16 enables the serial output for this channel to pin sd1a. 17 enables the serial output for this channel to pin sd1b. 18 enables the serial output for this channel to pin sd1c. 19 enables the serial output for this channel to pin sd1d. 15:12 serial data output sd2 routing mask. 0 disables. 1 enables. bit enabled output. 12 enables the serial output for this channel to pin sd2a. 13 enables the serial output for this channel to pin sd2b. 14 enables the serial output for this channel to pin sd2c. 15 enables the serial output for this channel to pin sd2d. 11:0 output hold-off delay. this parameter adds additional delay from the output of the filter compute engine to start of the se rial output stream for multiplexing channels. load with the desired delay (0 = zero, 1 = one, 2 = two, etc.). ISL5216
41 t able 26. serial data output 1 content/format register 1 (iwa = *015h) p(31:0) function 31:24 fourth serial slot in serial data output 1 (sd1x). x = a, b, c or d. see bits 7:0 for functional description of bits 31:24 . 23:16 third serial slot in serial data output 1 (sd1x). x = a, b, c or d. see bits 7:0 for functional description of bits 23:16. 15:8 second serial slot in serial data output 1 (sd1x). x = a, b, c or d. see bits 7:0 for functional description of bits 15:8. 7:0 first serial slot in serial data output 1 (sd1x). x = a, b, c or d. bit function 7 sync generated. when set, a sync pulse is generated with the data slot (serial data output 1 only, i.e., the sync is only associated with output 1). set to zero for output 2, sd2x. 6:3 word width/format. all xed point data is twos complement. the data is rounded (asymmetrically, with saturation) to the desired number of bits. 0000 0-bit, xed point (actually 1-bit position is used). 0001 4-bit, xed point. 0010 6-bit, xed point. 0011 8-bit, xed point. 0100 10-bit, xed point. 0101 12-bit, xed point. 0110 16-bit, xed point. 0111 20-bit, xed point. 1000 24-bit, xed point . 1001 32-bit xed (8 lsbs are zeroed). 1010 32-bit, oating point, ieee format. all other codes are invalid. note: floating point format is only available on the serial data output 1. code 1010 is invalid on serial data output 2. 2:0 data type 000 zeros 001 i1 (data routed from fifo and agc path). 010 q1 (data routed from fifo and agc path). 011 magnitude of i1/q1. 100 phase (or d /dt) of i1/q1. 101 i2 (data routed directly from the lter processor). 11 0 q2 (data routed directly from the lter processor). 111 agc gain of i1/q1 path. the lter processor must be programmed appropriately to route the data to i1/q1 or i2/q2. note: disable a slot by setting the 8-bit word to 00h. when disabled, a slot still uses one clock period. if, for example, the slots are programmed to 16-bit, disabled, 16-bit, there would a one clock idle period between the two 16-bit data words. if a new data sample occurs before the current set of data has been output, the new data will preempt the output and the ?st s lot of the new data will begin immediately. if a late sync was programmed, it will not occur. 0123456789abcdef0123456789abcdef i, q 012345678901234567890123 zzzzzzzz mag z 12345678901234567890123 zzzzzzzz (msb zero unless shifted) ph 012345678901234567 zzzzzzzzzzzzzz agc z 12345678901234567 zzzzzzzzzzzzzz (msb zeroed) t able 27. serial data output 1 content/format register 2 (iwa = *016h) p(31:0) function 31:24 set to zero. 23:16 seventh serial slot in serial data output 1 (sd1x). x = a, b, c or d. see bits 7:0 of table 26 for functional description of bits 23:16. 15:8 sixth serial slot in serial data output 1 (sd1x). x = a, b, c or d. see bits 7:0 of table 26 for functional description of bits 15:8. 7:0 fifth serial slot in serial data output 1 (sd1x). x = a, b, c or d. see bits 7:0 of table 26 for functional description of b its 7:0. ISL5216
42 t able 28. serial data output 2 content/format register 1 (iwa = *017h) p(31:0) function 31:24 fourth serial slot in serial data output 2 (sd2x). x = a, b, c or d. see bits 7:0 of table 26 for functional description o f bits 23:16. 23:16 third serial slot in serial data output 2 (sd2x). x = a, b, c or d. see bits 7:0 of table 26 for functional description of bits 23:16. 15:8 second serial slot in serial data output 2 (sd2x). x = a, b, c or d. see bits 7:0 of table 26 for functional description of bits 15:8. 7:0 first serial slot in serial data output 2 (sd2x). x = a, b, c or d. see bits 7:0 of table 26 for functional description of b its 7:0. t able 29. serial data output 2 content/format register 2 (iwa = *018h) p(31:0) function 31:24 set to zero 23:16 seventh serial slot in serial data output 2 (sd2x). x = a, b, c or d. see bits 7:0 of table 26 for functional description of bits 23:16. 15:8 sixth serial slot in serial data output 2 (sd2x). x = a, b, c or d. see bits 7:0 of table 26 for functional description of bits 15:8. 7:0 fifth serial slot in serial data output 2 (sd2x). x = a, b, c or d. see bits 7:0 of table 26 for functional description of b its 7:0. t able 30. software reset register (iwa = *019h) p(15:0) function n/a writing to this location resets the following activities of the functional block indicated. input format/select, nco, mixer and cic. clears any pending enable in each channel's input demultiplexer function, loads the cic decimation counter (the load value is indeterminate if the decimation counter preload register has not been loaded), clears all processing enables (stops all processing in the data path, but does not clear the data path registers). filter compute engine: resets the read/write pointers, fetch instruction 31 and start the filter program execution. agc: resets the compute blocks in both the forward and loop filter blocks (any calculations in progress are lost). cartesian-to-polar coordinate converter: resets the compute blocks (any calculations in progress are lost). fifo: resets counter (clears the fifo, all data is lost). resampler timing nco: clears the slave (active) frequency registers and clears the phase accumulator. output section: resets the serial output section (clears all registers, counters, and flags but does not clear the configuration registers). self test control: resets the self test control logic of the front end (input format/select, nco, mixer, and cic) and the back end (filter compute engine, agc, and cartesian-to-polar coordinate converter). t able 31. channel timing advance strobe register (iwa = *01ah) p(15:0) function n/a writing to this location inserts one extra data sample in the cic to fir path by repeating a sample. used for shifting the f ir filter compute engine timing. t able 32. channel timing retard strobe register (iwa = *01bh) p(15:0) function n/a writing to this location deletes one data sample in the cic to fir path. used for shifting the fir filter compute engine tim ing. t able 33. carrier phase offset (iwa = *01ch) p(15:0) function 15:0 carrier phase offset. values of 0000h - ffffh in this register represent phase shifts of 0 to 65535 / 65536 * 360 degrees ( this value may also be interpreted as a signed integer, in which case the range 8000h - 7fffh corresponds to phase shifts of -180 to 32767 / 32768 * 180 degrees). for the hsp50216 backward compatibility, the original 3-bit phase offset (iwa *004 bits 8:6) is added t o the new 16-bit phase offset register. hsp50216 configurations use iwa *004. new configurations should set *004 bits 8:6 to zero and use this register. this register is set to 0 by the reset pin. ISL5216
43 ta b les of global write address (gwa) registers note: these global write addresses control global functions on the ISL5216, so they are not repeated for each channel. the top ve address bits select this set of registers (f8xxh). t able 34. filter compute engine instruction rams (iwa = *100h thru *17fh) p(31:0) function 31:0 these locations in ram are used to store the filter compute engine instruction words. there are 128 bits per instruction wo rd with each word consisting of condition code selects, fir parameters and data routing controls. the filter compute engine is controll ed by a simple sequencer supporting up to 32 steps where each step is defined by a 128-bit instruction word. this instruction word is assigned to ram memory in four 32-bit data writes through the microprocessor interface starting with the low 32 bits. hence, 12 8 32-bit memory locations are required per channel to support the 32 steps of the filter sequencer. see the filter compute engine and filter sequencer sections of the data sheet for more details. t able 35. filter compute engine instruction pointer rams (iwa = *180h thru *1fch) p(15:0) function (no programming required) t able 36. filter compute engine coefficient ram (iwa = *440h thru *4ffh) p(31:0) function 31:8 these locations in ram are used to store the 22-bit filter coefficients used by the filter compute engine of each channel i n implementing a fir filter. the 22-bit fir filter coefficients are loaded in the upper 22 bits of each 32-bit ram location. the two lsbs of the second byte (bits 9:8 of the total 32 bits, 31:0) are the shift bits. these are set to zero if not used. the least signi ficant byte (bits 7:0 of the total 32 bits, 31:0) are ignored. the coefficient ram address space allows for storage of 192 filter coefficie nts storage locations. see the filter compute engine and filter sequencer sections of the data sheet for more details. t able 37. test control register (gwa = f800h) p(31:0) function 31:21 these bits can be routed to the output pins by setting bit 16 below. the bit to pin mapping is: 31 = intrpt 30 = synco 29 = serclk (unless x1 clk is selected) 28 = synca 27 = syncb 26 = syncc 25 = syncd 24 = sd1a 23 = sd1b 22 = sd1c 21 = sd1d this is provided for testing board level interconnects. to control the serclk output, a divided down clock must be selected in the serial clock control register (gwa = f803h). 20:17 unused - set to zero. 16 this bit, when high, routes bits 31:17 to the output pins in place of the normal outputs. 15 data ram test access enable: set to 1 to access data ram for testing, set to 0 for normal operation 14:10 unused - set to zero. 9 set to 0. 8 set to 0. 7:4 these bits, when set, route the msb of the sin output of the channel? carrier nco to the number two serial output pin in pl ace of the normal output. 7=ch0 6=ch1 5=ch2 4=ch3. 3 offset i pn by xoring bit 10 of the pn generator with the output pn. 2 enable (2 23 - 1) pn generator. the pn signal that can be added to the mixer output of each channel is produced from a (2 23 - 1) sequence, a (2 15 - 1) sequence or both. two separate generators are provided. the outputs of both are xored together to extend the repeat period. either or both generators can be disabled. the xored output can further be xored with a delayed version of t he (2 23 - 1) sequence on the i channel to decorrelate it from the q channel. otherwise, the same sequence will be used on both i and q . 1 enable (2 15 - 1) pn generator. 0 test mode. when asserted, this bit puts the chip into internal (self) test mode. set to 1 to enter a self test mode. ISL5216
44 t able 38. bus routing control register (gwa = f801h) p(31:0) function 31:24 unused - set to zero. 23:20 interrupt pulse width. the width of the interrupt pulse at the pin can be programmed to be from 1 to 15 clocks wide. progr am with the desired number of clocks. (note: the pulse counter is only reset with the reset pin. if a channel is reset by software or a syn ci, any interrupt pulse in process will finish). 19:17 set to 0. 16 ch1 or ch3 agc to ch0 ext agc. this bit selects whether the agc loop filter output from ch1 or ch3 is routed to the external agc gain input of ch0. 0=ch3, 1=ch1. 15:14 ch3 ext source mux sel. these bits select whether the ch2 source mux, cic2, or fir2out is routed to the external input of fir3. 0=ch2srcmux, 1=fir2, 2=cic2. 13 ch2 ext source mux sel. this bit selects whether the ch1 external source mux or fir1out is routed to the external input of fi r2. 0=ch1srcmux, 1=fir1out. 12 ch1 ext source mux sel. this bit selects whether the cic0 output or fir0out is routed to the external input of fir1. 0=cic0, 1=fir0out. 11 set to 0. 10 ch1 backend input sel 0=cic1, 1=ch1 ext src mux. 9 ch2 backend input sel 0=cic2, 1=ch2 ext src mux. 8 ch3 backend input sel 0=cic3, 1=ch3 ext source mux. 7 ch0 ext agc input enable. 0=ch0 loop filt, 1=external input. 6 ch1 ext agc input enable 0=ch1 loop filt, 1=external input. 5 ch2 ext agc input enable 0=ch2 loop filt, 1=external input. 4 ch3 ext agc input enable set to 0. 3 ch0 enable serial output 1=fir0 out enabled to serial outputs. 2 ch1 enable serial output 1=fir1 out enabled to serial outputs. 1 ch2 enable serial output 1=fir2 out enabled to serial outputs. 0 ch3 enable serial output 1=fir3 out enabled to serial outputs. t able 39. reset/sync/interrupt source selection register (gwa = f802h) p(31:0) function 31 when set, an interrupt will be generated on each data output of channel 0 to the output block. typically, this bit will only be set for one channel. 30 when set, the data input to the part will be disabled (the input enable will be zeroed and held at zero) on a p reset (this is always true for the reset pin, whether this bit is set or not, and additionally, the reset pin sets the input mode to gated). the inpu t enable will be released for the input sample that aligns with the synci signal. this is a method for starting up the processing synchronous with a particular data sample. 29 when this bit is set, the carrier center frequency will be updated from the holding register (iwa = *005h) to the active regi ster on the synci signal. if the bit is set in register iwa = *004h to clear the phase accumulator feedback on loading, this function will synchronize the phase of multiple channels. after initial synchronization, the bit in iwa = *004h can be cleared and updates wi ll be synchronous and phase continuous across channels. 28 when this bit is set, the fir filter compute engine is reset on synci. resetting the fir filter compute engine requires 32 cl ock (clk) cycles to initialize the read and write pointers. 27 when this bit is set, the agc is reset on synci. 26 this bit has the same function as bit 29, but for the timing (resampler) nco. the bit to zero the phase accumulator feedback is in register iwa = *00ah. 25 when this bit is set, the cic decimation counter is reset on synci. 24 when this bit is set, the serial output block is reset on synci. if bit 4 in location gwa f803h is set, the serial clock divi der is also reset. 23:16 same functions as 31:24 for channel 1. 15:8 same functions as 31:24 for channel 2. 7:0 same functions as 31:24 for channel 3. ISL5216
45 t able 40. serial clock control register (gwa = f803h) p(15:0) function 5 when set to 1, this bit will keep the serial clock disabled after a hardware reset until receipt of the first synci signal. 4 enables resetting serial clock divider on synci. when enabled, a synci enabled for any of the four serial data outputs in the reset/sync register (gwa = f802h, bits 24, 16, 8 or 0) will reset the serial clock divider. 3 sclk polarity. 1 clock low to high transition occurs at the center of the data bit. 0 clock high to low transition at the center of the data bit. 2:0 sclk rate. 000 serial clock disabled. 001 serial clock rate is input clk rate. 010 serial clock rate is input clk rate/2. 011 serial clock rate is input clk rate/4. 100 serial clock rate is input clk rate/8. 101 serial clock rate is input clk rate/16. other codes are undefined. t able 41. input level detector source select/format register (gwa = f804h) p(31:0) function 24 set to 0. 23 set to 0. 22 set to 0. 21 not used. set to zero. 20:18 input level detector floating point saturation level. offsets the exponent to normalize the shift code. the ones-complemen t of these bits is added to the exponent bits from the input section to obtain the shift code, allowing the user to normalize the inputs t o the same bit weights in the accumulators. for example, if the maximum expected exponent is 5 (101), programming this value into 20:18 causes 2 (010) to be added to the exponent normalizing it to a full scale shift code of 7. set to 000 for fixed point inputs. 17 enables the new (ISL5216) floating point modes; the 11-, 12-, 13- and 14-bit modes with 42db of gain, and 15- and 16-bit mode s with 18db and 6db ranges, respectively. the x-1 input must be used for 14-, 15- and 16-bit modes. see floating point input mode bit mapping tables for details. 16 floating point mode select bit 2. used with gwa f804h, bits 8:7 to select the floating point mode/format. see floating point input mode bit mapping tables for details. 15:13 channel input source selection. selects as the data input for the level detector either a(15:0), b(15:0), c(15:0), d(15:0) or the p test input register as shown below. 15:13 source selected 000 a(15:0) 001 b(15:0) 010 c(15:0) 011 d(15:0) 100 p t est input register. this is provided for testing and to zero the input data bus when a channel is not in use. the global write address register for the p t est input register is f807h. 12 p register input enable select 1 = bit 11, 0 = one clock wide pulse on each write to location f808h. select 0 to write data test data into the part. select 1 to input a constant or to disable the input for minimum power dissipation when the input level detector section is unused. 11 p input enable. when bit 12 is set, this bit is the input enable for the p register input. active low. 0=enabled, 1=disabled. 10 parallel data input format 0t wo?s complement 1o f fset binary ISL5216
46 9 fixed/floating point 0 fixed point 1 floating point. the 17-bit input bus is divided into 11 to 16 mantissa bits and one to three exponent bits depending on bits 1 7, 16, 8 and 7. see floating point input mode bit mapping tables for details. 8:7 floating point mantissa size select bits 0 and 1. see floating point input mode bit mapping tables for details. 6:4 de-multiplex control. these control bits are provided to demultiplex an input data stream comprised of a set of multiplexed data streams. up to eight multiplexed data streams can be demultiplexed. these control bits select how many clocks after the enix signal to wait before taking the input sample. enix should be asserted for one clock period and aligned with the first channel of the multiplexed data set. for example, if four streams are multiplexed at half the clock rate, enix would align with the first clock period of the first stream, the second would start two clocks later, the next four clocks after enix , etc. the samples are aligned with enix (zero delay) at the input of the input level detector at the next enix . 000 zero delay 111 seven clock periods of delay. 3 interpolated/gated mode select 0 gated. the input level detector is updated once per clock when enix is asserted. 1 interpolated. the input level detector is updated every clock. the input is zeroed when enix is high. 2:0 unused. set to 0. t able 41. input level detector source select/format register (gwa = f804h) (continued) p(31:0) function t able 42. input level detector configuration register (gwa = f805h) p(31:0) function 31:22 set to zero. 21 1 ones complement of 16-bit data after formatting. 0 unmodi ed input. 20 1 free run (ignore interval counter). 0 stop when interval counter times out. this bit may also be set low temporarily when free running to stabilize the accumulator data for reading. 19:18 input level detector leak factor, a. 00 1 01 2 -8 10 2 -12 11 2 -16 17:16 input level detector mode 00 leaky integrator (y n = a*x n + (1-a)*y n-1 , where a is the gain selected in bits 19:18). 01 peak detector. 10 integrator (bit 20 should be set to 0). 15:0 input level detector interval load with two less than the desired number of input samples. the interval range is 2?5537 input samples. t able 43. input level detector start strobe register (gwa = f806h) p(15:0) function n/a writing to this location clears the input level detector accumulator and restarts the interval counter. when the interval co unter is done, bit 1 of the status word (direct register 3) is set. t able 44. p/ test input bus register (gwa = f807h) p(15:0) function 15:0 this 16-bit value can be used as the input to one or more nco/mixer/cic sections or to the input level detector for test or to set the input to a constant value to minimize power when the channel is not in use. the eni signal for this input is either bit 11 in the channel register at iwa *000h or the strobe generated by a write to location gwa f808h (selected via bit 12 of the channel register at iwa *000h). ISL5216
47 ta b le of indirect read address (ira) registers the address decoding for the read source locations is given below. the internal address of the data to be read is written to direct address 3 (add(2:0) = 3) to select and/or fetch the data. a strobe is generated, if needed, to fetch or stabilize the data for reading. if a strobe is needed, the indirect read address must be written to direct address 3 each time the data is needed. if a strobe is not needed, the data can be read repeatedly at direct addresses 0 and 1(add(2:0) = 0 and 1, respectively) with any changes in the data showing up immediately. the strobe to sample the agc gain is generated separately by an indirect write (see iwa *00fh in the ta b les of indirect write address registers ). this allows the agc gain of all the channels to be sampled simultaneously. the indirect read address register is shared with indirect write address register, so a data veri?ation read may be done immediately after a write without needing to write the register address to add(2:0) = 3 again. note: these indirect read addresses are repeated for each channel. in the addresses below, the * ?ld is the channel select nibble. these bits of the indirect address select the target channel register for the data being read. values of 0 through 3 and f are valid. t able 45. p/ test input bus eni register (gwa = f808h) p(15:0) function n/a a write to this location, generates and eni strobe for the p driven input port (when selected via bit 12 of iwa *000h). t able 46. synco strobe register (gwa = f809h) p(15:0) function n/a a write to this location will cause a one-clock-wide pulse on the synco pin. the synco pin is used to synchronize multiple c hannels or parts. the synco pin from one part is typically connected to the synci pin of all the parts. up to two pipeline registers ma y be inserted in the synco to synci path. t able 47. synci strobe register (gwa = f80ah) p(15:0) n/a a write to this location generates a synco pulse but also feeds it back to the synci input. t able 48. test crc register (gwa = f80bh) p(15:0) 15:0 test crc register. load comparison signature into 15:0. following a bist test, the part returns its computed signature to 3 1:16. t able 49. p fifo read order control register (gwa = f820h thru f83fh) p(15:0) function 4:0 the five bits selecting the data type are encoded as follows: c c d d d, where cc is the channel number and ddd is the data type. ddd data type 000 i(23:8) the upper 16 bits of the i data path via the fifo/agc. 001 i(7:0),8*zeros the lower 8 bits of the i data path. 010 q(23:8) the upper 16 bits of the q data path via the fifo/agc. 011 q(7:0),8*zero the lower 8 bits of the q data path. 100 mag(23:8) the upper 16 bits of magnitude (after the gain adjust described in channel register) 101 mag(7:0),8*zero the lower 8 bits of magnitude. 11 0 phase(15:0) the upper 16 bits of phase. 111 agc gain (15:0) the upper 16 bits of the agc gain. t able 50. table of indirect read address (ira) registers ira bits function *000h 24:0 channel input select / format *001h 15:0 pn gain *002h 15:0 cic decimation ISL5216
48 *003h 5:0 cic destination fir and output enable/disable *004h 19:0 carrier nco / cic control *005h 31:0 active carrier nco center frequency. *007h 31:0 timing nco frequency (upper 32 bits) *008h 31:8 timing nco frequency (lower 24 bits) *00ah 31:0 filter compute engine / resampler control *00bh 13:0 filter start offset *00ch 31:0 wait threshold / decrement value *00dh 8:0 reset write pointer offset *00eh 15:0 agc gain load register (reads gain initially loaded into agc gain register) *00fh 15:0 agc gain read (must first write to agc gain read strobe register iwa = *00fh before reading) *010h 31:0 agc loop attack / decay gain values *011h 31:0 agc gain limits *012h 15:0 agc threshold *013h 10:0 agc / discriminator control *014h 31:0 serial data output control *015h 31:0 serial data output 1 content / format (register 1) *016h 23:0 serial data output 1 content / format (register 2) *017h 31:0 serial data output 2 content / format (register 1) *018h 23:0 serial data output 2 content / format (register 2) *01ch 15:0 carrier phase offset *100h - *17fh 31:0 instruction rams. *180h - *1fch 30:0 instruction rams (pointer ram). *400h - *43fh 31:8 coefficient rom -hbf, const. *440h - *47fh 31:8 coefficient ram -1. *480h - *4ffh 31:8 coefficient ram -2. *500h - *5ffh 31:8 coefficient rom -resampler. f800h 31:0 test control f801h 23:0 bus routing control f802h 31:0 reset / sync / interrupt source selection f803h 31:0 serial clock control f804h 20:0 input level detector source select f805h 21:0 input level detector configuration f806h 31:0 input level detector result (valid when bit 1 of status word is set) f807h 15:0 p / test input bus f80bh 31:0 bist f820h - f83fh 4:0 p fifo read order control t able 50. table of indirect read address (ira) registers ira bits function ISL5216
49 absolute maximum ratings thermal information supply voltage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.6v core supply voltage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.5v input, output or i/o voltage . . . . . . . . . . . . gnd -0.5v to v cc +0.5v esd classi?ation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . class i operating conditions v oltage range (i/o) . . . . . . . . . . . . . . . . . . . . . . +3.135v to +3.465v v oltage range (core) . . . . . . . . . . . . . . . . . . . . .+2.375v to +2.625v t emperature range industrial. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . -40 o c to +85 o c input low voltage. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 0v to +0.8v input high voltage . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2v to i/o v cc thermal resistance (typical) ja ( o c/w) 196 lead bga package (0.8 mm pitch). . . . . . . . . . 30 w/200 lfm air flow . . . . . . . . . . . . . . . . . . . . . . . . . 27 w/400 lfm air flow . . . . . . . . . . . . . . . . . . . . . . . . . 26 196 lead bga package (1.0 mm pitch). . . . . . . . . . 29 w/200 lfm air flow . . . . . . . . . . . . . . . . . . . . . . . . . 26 w/400 lfm air flow . . . . . . . . . . . . . . . . . . . . . . . . . 25 maximum junction temperature . . . . . . . . . . . . . . . . . . . . . . .150 o c maximum storage temperature range . . . . . . . . . . -65 o c to 150 o c maximum lead temperature (soldering 10s) . . . . . . . . . . . . .300 o c caution: stresses above those listed in ?bsolute maximum ratings may cause permanent damage to the device. this is a stress o nly rating and operation of the device at these or any other conditions above those indicated in the operational sections of this speci?ation is not implied note: 21. ja is measured with the component mounted on a high effective thermal conductivity test board in free air or with the airflow. se e tech brief tb379 for details. electrical speci?ations v cc1 = core supply: 2.5v 0.125v, v cc2 = i/o supply: 3.3 0.165v , t a = -40 o c to 85 o c, industrial parameter symbol test conditions min typ max units logical one input voltage v ih v cc2 = 3.465v 2.0 - - v logical zero input voltage v il v cc2 = 3.135v - - 0.8 v output high voltage v oh i oh = -2ma, v cc2 = 3.135v 2.6 - - v output low voltage v ol i ol = 2ma, v cc2 = 3.135v - - 0.4 v input leakage current i i v in = v cc2 or gnd, v cc2 = 3.465v -10 - 10 a output leakage current i o v in = v cc2 or gnd, v cc2 = 3.465v -10 - 10 a typical leakage current i o-typ v in = v cc2 or gnd, v cc2 = 3.465v - 2 - a standby power supply current -- core i ccsb-cr v cc1 = 2.625v, outputs not loaded, no clk --8 m a standby power supply current -- io?s i ccsb-io v cc1 = 2.625v, outputs not loaded, no clk -- 0.5 m a operating power supply current -- core i ccop-cr f = 80mhz, v in = v cc1 or gnd, v cc1 = 2.625v, c l = 40pf -- 700 ma operating power supply current -- io?s i ccop-io f = 80mhz, v in = v cc1 or gnd, v cc1 = 2.625v, c l = 40pf --50 ma operating power supply current -- typical i ccop-typ f = 80mhz, v in = v cc1 or gnd, v cc1 = 2.625v, c l = 40pf - 570 - ma (note 22) input capacitance c in freq = 1mhz, v cc open, all measurements are referenced to device ground --5 pf (note 23) output capacitance c out --5 pf (note 23) notes: 22. power supply current is proportional to frequency of operation and programmed configuration of the part. typical rating for i ccop is 7.125ma/mhz @ 80mhz, full utilization. 23. capacitance: t a = 25 o c, controlled via design or process parameters and not directly tested. characterized upon initial design and at major process or design changes. ISL5216
50 electrical speci?ations v cc1 = core supply: 2.5v 0.125v, v cc2 = i/o supply: 3.3 0.165v , t a = -40 o c to 85 o c industrial parameter symbol min max units input and control timing (figure 3) clk frequency f clk -95 mhz clk high (note 25) t ch 4.2 - ns clk low (note 25) t cl 4.2 - ns setup time - data inputs, input enables, synci, synci(0-3) to clk high t ds 4-ns hold time - data inputs, input enables, synci, synci(0-3) to clk high t dh -0.5 - ns clk to output valid - synco, intrpt t pdc - 6.5 ns reset pulse width low t rw 5-ns reset setup time to clk high (note 24) t rs 4-ns microprocessor write timing ( p mode = 0, figure 7) p(15:0) setup time to rising edge of wr t psw 7-ns p(15:0) hold time from rising edge of wr t phw -1 - ns a(1:0) setup time to rising edge of wr t asw 8-ns a(1:0) hold time from rising edge of wr t ahw -1 - ns ce setup time to rising edge of wr t csw 8-ns ce hold time from rising edge of wr t chw -1 - ns wr low time t wl 5-ns wr high to clk high (note 25) t wh 2-ns microprocessor read timing ( p mode = 0, figure 8) a(1:0) hold time from rising edge of rd (only applies when add(1:0) = 2) t ahr -2 - ns a(1:0) to p(15:0) data valid time t dv -16ns rd low to p(15:0) valid t re -11ns rd disable time (note 25) t rd -7ns ce to p(15:0) data valid time t csf -16ns ce hold time from rising edge of rd (only applies when add(1:0) = 2) t chr -2 - ns rd cycle time for add(1:0) = 2 (note 25) t rcy 16 ns microprocessor write timing ( p mode = 1, figure 9) p(15:0) setup time to rising edge of dstrb t psr 6-ns p(15:0) hold time from rising edge of dstrb t phr -1 - ns a(1:0) setup time to rising edge of dstrb t asr 8-ns a(1:0) hold time from rising edge of dstrb t ahr -1 - ns ce setup time to rising edge of dstrb t csr 8-ns ce hold time from rising edge of dstrb t chr -1 - ns r/w setup time to falling edge of dstrb t r/w sf 1-ns r/w hold time from rising edge of dstrb t r/w hr 0-ns dstrb low time t dw 5-ns dstrb high to clk high (note 25) t dsth 2-ns microprocessor read timing ( p mode = 1, figure 10) a(1:0) hold time from rising edge of dstrb (only applies when add(1:0) = 2) t ahr -1 - ns a(1:0) to p(15:0) data valid time t dv -16ns dstrb low to p(15:0) valid t re -11ns dstrb disable time (note 25) t rd -7ns ce to p(15:0) data valid time t csf -16ns ce hold time from rising edge of dstrb (only applies when add(1:0) = 2) t chr -1 - ns r/w setup time to falling edge of dstrb t r/w sf 1-ns ISL5216
51 ac test load circuit r/w hold time from rising edge of dstrb t r/w hr 0-ns serial clock output timing (figure 11) clk to serial data, sync and sclk (divide-by 2 thru 16 modes) t pd -8ns clk to sclk (divide-by 1 mode, note 25) t pdl - 6.5 ns time skew between sclk and serial data or serial sync (divide-by 2 thru 16 modes, note 25 ) t skew1 -2 2 ns time skew between sclk and serial data or serial sync (divide-by 1 mode, note 25 ) t skew2 13ns notes: 24. the ISL5216 goes into reset immediately on reset going low and comes out of reset on the 4th rising edge of clk after reset goes high. 25. controlled via design or process parameters and not directly tested. characterized upon initial design and at major process or design changes. electrical speci?ations v cc1 = core supply: 2.5v 0.125v, v cc2 = i/o supply: 3.3 0.165v , t a = -40 o c to 85 o c industrial (continued) parameter symbol min max units equivalent circuit c l (note) i oh 1.5v i ol dut switch s1 open for i ccsb and i ccop s 1 note - test head capacitance, 40pf (typ) wa veforms figure 6. input and control timing clk ain, bin, cin, din, enia , enib , enic , enid , synci, synco, intrpt reset 1/f clk t ch t cl t ds t dh t pdc t rs t rw synci(0-3) ISL5216
52 figure 7. microprocessor write timing ( p mode = 0) figure 8. microprocessor read timing ( p mode = 0) wa veforms (continued) rd ce wr add(1:0) p(15:0) t psw t phw t asw t ahw t chw t wl t csw t wh clk rd ce wr add(1:0) p(15:0) t re t dv t rd t ahr t chr t csf t rcy ISL5216
53 figure 9. microprocessor write timing ( p mode = 1) figure 10. microprocessor read timing ( p mode = 1) wa veforms (continued) ce rd/wr dstrb add(1:0) p(15:0) t psr t phr t dw t ahr t chr t csr t asr t r/w hr clk t dsth t r/w sf ce rd/wr dstrb add(1:0) p(15:0) t ahr t dv t rd t chr t r/w hr t csf t re t r/w sf ISL5216
54 figure 11. serial output timing figure 12. output rise and fall times wa veforms (continued) clk sclk (/2 thru /16) sync sdxx sclk (divide by 1) t pdl t skew2 t pd t pdl t skew1 t rf t rf 2.0v 0.5v ISL5216
55 r omd fir filters - response curves figure 13. cic passband rolloff (n = # of stages, r = decimation factor, f s /r = 1 is cic output rate) figure 14. cic first alias level (n = # of stages, r = decimation factor, f s /r = 1 is cic output rate) figure 15. 5th order (n = 5) cic response (r = decimation factor, f s /r = 1 is cic output rate) note: hbf4 not included in the romd fir filter coefficient memory. see note 26 of tab le 52. figure 16. romd halfband filter frequency response note: hbf4 not included in the romd fir filter coefficient memory. see note 26 of tab le 52. figure 17. romd halfband filter alias frequency response 0.0 -1.0 -2.0 -3.0 -4.0 -5.0 -6.0 0.0 0.1 0.2 0.3 0.4 0.5 f s /r db n = 5 n = 4 n = 2 n = 1 n = 3 0 -20 -40 -60 -80 -100 -120 0.00 0.10 0.20 0.30 0.40 0.50 f s /r db n = 3 n = 5 n = 2 n = 1 n = 4 -140 0 -20 -40 -60 -80 -100 -120 0.0 0.5 1.0 1.5 2.0 2.5 f s /r db -140 3.0 0 -20 -40 -60 -80 -100 -120 0 0.125 0.25 0.375 0.5 f s db hbf3 hbf4 hbf5 hbf2 -10 -30 -50 -70 -90 -110 hbf1 0 -20 -40 -60 -80 -100 -120 0 0.0625 0.125 0.1875 0.25 f s db hbf3 hbf2 hbf1 hbf4 -10 -30 -50 -70 -90 -110 hbf5 ISL5216
56 note: there is a 65db limitation in snr using the re-sampler filter. figure 18. polyphase resampler filter broadband frequency response figure 19. polyphase resampler filter pass band frequency response figure 20. polyphase resampler filter expanded resolution passband frequency response r omd fir filters - response curves (continued) 0 -20 -40 -60 -80 -100 -120 magnitude (db) 12345678910111213141516 frequency (relative to f s ) 10 0 -10 -20 -30 -40 -50 -60 -70 -80 magnitude (db) 0.0625 0.125 0.1875 0.25 0.3125 0.375 0.4375 0.5 0.5625 0.625 0.6875 0.75 0.8125 0.875 0.9375 1 frequency (relative to f s ) 0 2 1 0 -1 -2 -3 -4 -5 -6 -7 -8 -9 -10 magnitude (db) 0.0625 0.125 0.1875 0.25 0.3125 0.375 0.4375 0.5 0 frequency (relative to f s ) ISL5216
57 t able 51. cic passband and alias levels frequency 5th order 4th order 3rd order 2nd order 1st order f s / r passband alias passband alias passband alias passband alias passband alias 00 <-200 0 <-200 0 <-200 0 <-200 0 <-200 0.01 -0.007 -199.564 -0.006 -159.651 -0.004 -119.738 -0.003 -79.825 -0.001 -39.913 0.02 -0.029 -169.041 -0.023 -135.233 -0.017 -101.425 -0.011 -67.617 -0.006 -33.808 0.03 -0.064 -151.023 -0.051 -120.818 -0.039 -90.614 -0.026 -60.409 -0.013 -30.205 0.04 -0.114 -138.129 -0.091 -110.503 -0.069 -82.877 -0.046 -55.252 -0.023 -27.626 0.05 -0.179 -128.048 -0.143 -102.438 -0.107 -76.829 -0.071 -51.219 -0.036 -25.610 0.06 -0.257 -119.749 -0.206 -95.799 -0.154 -71.849 -0.103 -47.900 -0.051 -23.950 0.07 -0.351 -112.683 -0.280 -90.146 -0.210 -67.610 -0.140 -45.073 -0.070 -22.537 0.08 -0.458 -106.522 -0.367 -85.218 -0.275 -63.913 -0.183 -42.609 -0.092 -21.304 0.09 -0.580 -101.054 -0.464 -80.843 -0.348 -60.633 -0.232 -40.422 -0.116 -20.211 0.10 -0.717 -96.135 -0.573 -76.908 -0.430 -57.681 -0.287 -38.454 -0.143 -19.227 0.11 -0.868 -91.662 -0.694 -73.330 -0.521 -54.997 -0.347 -36.665 -0.174 -18.332 0.12 -1.034 -87.558 -0.827 -70.047 -0.620 -52.535 -0.413 -35.023 -0.207 -17.512 0.13 -1.214 -83.766 -0.971 -67.013 -0.728 -50.260 -0.486 -33.507 -0.243 -16.753 0.14 -1.409 -80.241 -1.127 -64.193 -0.846 -48.145 -0.564 -32.096 -0.282 -16.048 0.15 -1.619 -76.947 -1.295 -61.558 -0.972 -46.168 -0.648 -30.779 -0.324 -15.389 0.16 -1.844 -73.855 -1.475 -59.084 -1.107 -44.313 -0.738 -29.542 -0.369 -14.771 0.17 -2.084 -70.943 -1.667 -56.754 -1.251 -42.566 -0.834 -28.377 -0.417 -14.189 0.18 -2.340 -68.189 -1.872 -54.551 -1.404 -40.913 -0.936 -27.276 -0.468 -13.638 0.19 -2.610 -65.579 -2.088 -52.463 -1.566 -39.347 -1.044 -26.231 -0.522 -13.116 0.20 -2.896 -63.098 -2.317 -50.478 -1.737 -37.859 -1.158 -25.239 -0.579 -12.620 0.21 -3.197 -60.734 -2.558 -48.587 -1.918 -36.440 -1.279 -24.294 -0.639 -12.147 0.22 -3.514 -58.477 -2.811 -46.782 -2.108 -35.086 -1.406 -23.391 -0.703 -11.695 0.23 -3.847 -56.319 -3.077 -45.055 -2.308 -33.792 -1.539 -22.528 -0.769 -11.264 0.24 -4.195 -54.252 -3.356 -43.402 -2.517 -32.551 -1.678 -21.701 -0.839 -10.850 0.25 -4.560 -52.269 -3.648 -41.815 -2.736 -31.361 -1.824 -20.907 -0.912 -10.454 0.26 -4.941 -50.363 -3.953 -40.291 -2.965 -30.218 -1.976 -20.145 -0.988 -10.073 0.27 -5.338 -48.531 -4.271 -38.825 -3.203 -29.119 -2.135 -19.412 -1.068 -9.706 0.28 -5.752 -46.767 -4.602 -37.413 -3.451 -28.060 -2.301 -18.707 -1.150 -9.353 0.29 -6.183 -45.066 -4.946 -36.053 -3.710 -27.040 -2.473 -18.026 -1.237 -9.013 0.30 -6.631 -43.426 -5.305 -34.740 -3.978 -26.055 -2.652 -17.370 -1.326 -8.685 0.31 -7.096 -41.842 -5.677 -33.473 -4.257 -25.105 -2.838 -16.737 -1.419 -8.368 ISL5216
58 0.32 -7.578 -40.311 -6.063 -32.249 -4.547 -24.187 -3.031 -16.125 -1.516 -8.062 0.33 -8.078 -38.832 -6.463 -31.066 -4.847 -23.299 -3.231 -15.533 -1.616 -7.766 0.34 -8.596 -37.401 -6.877 -29.921 -5.158 -22.440 -3.439 -14.960 -1.719 -7.480 0.35 -9.133 -36.015 -7.306 -28.812 -5.480 -21.609 -3.653 -14.406 -1.827 -7.203 0.36 -9.688 -34.674 -7.750 -27.739 -5.813 -20.804 -3.875 -13.869 -1.938 -6.935 0.37 -10.262 -33.374 -8.209 -26.699 -6.157 -20.024 -4.105 -13.349 -2.052 -6.675 0.38 -10.854 -32.114 -8.684 -25.691 -6.513 -19.268 -4.342 -12.845 -2.171 -6.423 0.39 -11.467 -30.892 -9.174 -24.713 -6.880 -18.535 -4.587 -12.357 -2.293 -6.178 0.40 -12.099 -29.707 -9.679 -23.766 -7.260 -17.824 -4.840 -11.883 -2.420 -5.941 0.41 -12.752 -28.557 -10.201 -22.846 -7.651 -17.134 -5.101 -11.423 -2.550 -5.711 0.42 -13.425 -27.442 -10.740 -21.953 -8.055 -16.465 -5.370 -10.977 -2.685 -5.488 0.43 -14.119 -26.359 -11.295 -21.087 -8.472 -15.815 -5.648 -10.544 -2.824 -5.272 0.44 -14.835 -25.308 -11.868 -20.246 -8.901 -15.185 -5.934 -10.123 -2.967 -5.062 0.45 -15.573 -24.287 -12.458 -19.430 -9.344 -14.572 -6.229 -9.715 -3.115 -4.857 0.46 -16.333 -23.296 -13.066 -18.637 -9.800 -13.978 -6.533 -9.318 -3.267 -4.659 0.47 -17.116 -22.334 -13.693 -17.867 -10.270 -13.400 -6.847 -8.933 -3.423 -4.467 0.48 -17.923 -21.399 -14.339 -17.119 -10.754 -12.840 -7.169 -8.560 -3.585 -4.280 0.49 -18.754 -20.492 -15.003 -16.393 -11.253 -12.295 -7.502 -8.197 -3.751 -4.098 0.50 -19.610 -19.610 -15.688 -15.688 -11.766 -11.766 -7.844 -7.844 -3.922 -3.922 t able 51. cic passband and alias levels (continued) frequency 5th order 4th order 3rd order 2nd order 1st order f s / r passband alias passband alias passband alias passband alias passband alias ISL5216
59 t able 52. decimating halfband fir filter coefficients coeff decimating halfband #1 (dhbf #1, 7-tap) decimating halfband #2 (dhbf #2, 11-tap) decimating halfband #3 (dhbf #3, 15-tap) decimating halfband #4 (dhbf #4, 19-tap) decimating halfband #5 (dhbf #1, 23-tap) hex decimal hex decimal hex decimal hex decimal hex decimal c0 fbfe40 - 0.031303406 00c250 0.005929947 ffd538 -0.00130558 000c68 0.000378609 fff4a0 -0.000347137 c1 000000 0.000000000 000000 0.000000000 000000 0.000000000 000000 0.000000000 000000 0.000000000 c2 240100 0.281280518 f9b930 -0.049036026 0195a8 0.012379646 ff8320 -0.003810883 005258 0.00251293 c3 3ffe80 0.499954224 000000 0.000000000 000000 0.000000000 000000 0.000000000 000000 0.000000000 c4 240100 0.281280518 258400 0.29309082 f83fe0 -0.06055069 0276a0 0.019245148 feb320 -0.010158539 c5 000000 0.000000000 3fff00 0.499969482 000000 0.000000000 000000 0.000000000 000000 0.000000000 c6 fbfe40 - 0.031303406 258400 0.29309082 265480 0.299453735 f70d60 -0.069904327 03e920 0.03055191 c7 000000 0.000000000 3ffe80 0.499954224 000000 0.000000000 000000 0.000000000 c8 f9b930 -0.049036026 265480 0.299453735 26ec80 0.304092407 f581a0 -0.081981659 c9 000000 0.000000000 000000 0.000000000 400000 0.500000000 000000 0.000000000 c10 00c250 0.005929947 f83fe0 -0.06055069 26ec80 0.304092407 279b00 0.309417725 c11 000000 0.000000000 000000 0.000000000 400000 0.500000000 c12 0195a8 0.012379646 f70d60 -0.069904327 279b00 0.309417725 c13 000000 0.000000000 000000 0.000000000 000000 0.000000000 c14 ffd538 -0.00130558 0276a0 0.019245148 f581a0 -0.081981659 c15 000000 0.000000000 000000 0.000000000 c16 ff8320 -0.003810883 03e920 0.03055191 c17 000000 0.000000000 000000 0.000000000 c18 000c68 0.000378609 feb320 -0.010158539 c19 000000 0.000000000 c20 005258 0.00251293 c21 000000 0.000000000 c22 fff4a0 -0.000347137 notes: 26. decimating halfband filter #4 coefficients are shown for reference only. if it is desired to implement this fir filter, thes e coefficients would have to be loaded into the fir coefficient ram (they are not included in the romd fir filter coefficient memory). 27. the 22-bit romd fir filter coefficients are located in the upper 22 bits of the read register when read back from rom memory (except for halfband #4). these bits occupy the upper six bytes (24 bits) with the two lsbs of the lower byte (bits 9:8 of 31:0) being zero . the decimal value for the hexadecimal coefficient is calculated by first converting the hexadecimal value to decimal and the dividing by 2 23 (8388608). ISL5216
60 t able 53. interpolating halfband fir filter coefficients coeff interpolating halfband #2 (ihbf #2, 15-tap) interpolating halfband #1 (ihbf #1, 23-tap) hex decimal hex decimal c0 ffaa24 -0.002620220 ffe944 -0.000693798 c1 000000 0.000000000 000000 0.000000000 c2 032b60 0.024761200 00a4b4 0.005026340 c3 000000 0.000000000 000000 0.000000000 c4 f07f40 -0.121116638 fd6640 -0.020317078 c5 000000 0.000000000 000000 0.000000000 c6 4cab00 0.598968506 07d240 0.061103821 c7 800000 1.000000000 000000 0.000000000 c8 4cab00 0.598968506 eb0340 -0.163963318 c9 000000 0.000000000 000000 0.000000000 c10 f07f40 -0.121116638 4f3600 0.618835449 c11 000000 0.000000000 800000 1.000000000 c12 032b60 0.024761200 4f3600 0.618835449 c13 000000 0.000000000 000000 0.000000000 c14 ffaa24 -0.002620220 eb0340 -0.163963318 c15 000000 0.000000000 c16 07d240 0.061103821 c17 000000 0.000000000 c18 fd6640 -0.020317078 c19 000000 0.000000000 c20 00a4b4 0.005026340 c21 000000 0.000000000 c22 ffe944 -0.000693798 note: 28. the 22-bit romd fir filter coefficients are located in the upper 22 bits of the read register when read back from rom memory . these bits occupy the upper three bytes (24 bits) with the two lsbs of the lower byte (bits 9:8 of 31:0) being zero. the decimal value for the hexadecimal coefficient is calculated by first converting the hexadecimal value to decimal and the dividing by 2 23 (8388608). ISL5216
61 t able 54. resampler fir filter coefficients coeff hex decimal coeff hex decimal coeff hex decimal c 0 / 191 004000 0.001953125 c 32 / 159 fa3540 -0.045249939 c 64 / 127 0c2400 0.094848633 c 1 / 190 006910 0.003206253 c 33 / 158 f97f00 -0.050811768 c 65 / 126 0f8600 0.121276855 c 2 / 189 007a90 0.003740311 c 34 / 157 f8c4c0 -0.056495667 c 66 / 125 131700 0.149139404 c 3 / 188 008c90 0.004289627 c 35 / 156 f80880 -0.062240601 c 67 / 124 16d400 0.178344727 c 4 / 187 009ed0 0.004846573 c 36 / 155 f74c40 -0.067985535 c 68 / 123 1aba00 0.208801270 c 5 / 186 00b0e0 0.005397797 c 37 / 154 f691c0 -0.073677063 c 69 / 122 1ec500 0.240386963 c 6 / 185 00c230 0.005926132 c 38 / 153 f5db80 -0.079238892 c 70 / 121 22f100 0.272979736 c 7 / 184 00d240 0.006416321 c 39 / 152 f52c00 -0.084594727 c 71 / 120 273a00 0.306457520 c 8 / 183 00e090 0.006853104 c 40 / 151 f48600 -0.089660645 c 72 / 119 2b9900 0.340606689 c 9 / 182 00ecc0 0.007225037 c 41 / 150 f3ec00 -0.094360352 c 73 / 118 300a00 0.375305176 c 10 / 181 00f620 0.007511139 c 42 / 149 f36140 -0.098594666 c 74 / 117 348800 0.410400391 c 11 / 180 00fbc0 0.007682800 c 43 / 148 f2e880 -0.102279663 c 75 / 116 390c00 0.445678711 c 12 / 179 00fcb0 0.007711411 c 44 / 147 f284c0 -0.105323792 c 76 / 115 3d9100 0.480987549 c 13 / 178 00f970 0.007612228 c 45 / 146 f23980 -0.107620239 c 77 / 114 420f00 0.516082764 c 14 / 177 00eff0 0.007322311 c 46 / 145 f20940 -0.109092712 c 78 / 113 468200 0.550842285 c 15 / 176 00e050 0.006845474 c 47 / 144 f1f7c0 -0.109626770 c 79 / 112 4ae200 0.585021973 c 16 / 175 00c980 0.006149292 c 48 / 143 f20800 -0.109130859 c 80 / 111 4f2a00 0.618469238 c 17 / 174 00aad0 0.005212784 c 49 / 142 f23c80 -0.107528687 c 81 / 110 535200 0.650939941 c 18 / 173 0083b0 0.004018784 c 50 / 141 f298c0 -0.104713440 c 82 / 109 575400 0.682250977 c 19 / 172 005370 0.002546310 c 51 / 140 f31f00 -0.100616455 c 83 / 108 5b2b00 0.712249756 c 20 / 171 0019a0 0.000782013 c 52 / 139 f3d280 -0.095138550 c 84 / 107 5ed000 0.740722656 c 21 / 170 ffd590 -0.001295090 c 53 / 138 f4b500 -0.088226318 c 85 / 106 623e00 0.767517090 c 22 / 169 ff86f0 -0.003694534 c 54 / 137 f5c900 -0.079803467 c 86 / 105 656e00 0.792419434 c 23 / 168 ff2d90 -0.006422043 c 55 / 136 f71040 -0.069816589 c 87 / 104 685d00 0.815338135 c 24 / 167 fec930 -0.009485245 c 56 / 135 f88c40 -0.058219910 c 88 / 103 6b0500 0.836090088 c 25 / 166 fe59c0 -0.012886047 c 57 / 134 fa3e80 -0.044967651 c 89 / 102 6d6200 0.854553223 c 26 / 165 fddf80 -0.016616821 c 58 / 133 fc27c0 -0.030036926 c 90 / 101 6f7000 0.870605469 c 27 / 164 fd5a60 -0.020679474 c 59 / 132 fe48c0 -0.013404846 c 91 / 100 712c00 0.884155273 c 28 / 163 fccb00 -0.025054932 c 60 / 131 00a140 0.004920959 c 92 / 99 729200 0.895080566 c 29 / 162 fc31f0 -0.029726028 c 61 / 130 033140 0.024940491 c 93 / 98 73a100 0.903350830 c 30 / 161 fb9000 -0.034667969 c 62 / 129 05f7c0 0.046623230 c 94 / 97 745600 0.908874512 c 31 / 160 fae600 -0.039855957 c 63 / 128 08f400 0.069946289 c 95 / 96 74b200 0.911682129 note: 29. the 22-bit romd fir filter coefficients are located in the upper 22 bits of the read register when read back from rom memory . these bits occupy the upper three bytes (24 bits) with the two lsbs of the lower byte (bits 9:8 of 31:0) being zero. the decimal value for the hexadecimal coefficient is calculated by first converting the hexadecimal value to decimal and the dividing by 2 23 (8388608). ISL5216
62 . appendix a - changes from hsp50216 the ISL5216 is pin and register compatible with the hsp50216 facilitating an easy migration to the ISL5216 from previous designs. certain changes to hardware and possibly software will be required to make this transition, however. the listing below details the changes that should be considered. pinout changes thirteen previously no-connect pins have been assigned to ISL5216 features. these are ?e jtag pins (tdi, tdo, tclk, tms, and trst), four additional exponent bits (one f or each input bus: am1, bm1, cm1 and dm1), and four additional channel-speci? synci inputs (synci0, synci1, synci2, and synci3). all new input pins have weak pull- ups / pull-downs to allow them to be left ?ating if not used. in addition to the newly-assigned pins, some of the 3.3v vcc lines of the hsp50216 have been changed to 2.5v on the ISL5216. the ISL5216 now has vcc1 (2.5v core supply pins) and vcc2 (3.3v for i/o pads). see pin descriptions for additional information. t able 55. bit weighting for agc loop feedback path agc accum bit position gain error input gain error bit weight agc loop filter gain ( mantissa) agc loop filter gain multiplier ( output) agc loop filter gain (exponent) agc bit weights agc gain resolution (db) shift = 0 shift = 4 shift = 8 shift = 15 limits to output section to p 31 2222 0 0 30 2222 3 e e 48 29 2222 2 e e 24 28 2222 1 e e 12 27 15 = 22 2222 0 e e 6 26 14 = 11 2221 -1 m m 3 25 13 = 0 . 0 . 0 . 2220 . -2 m m 1.5 24 12 = 1x 1 2221 -3 m m 0.75 23 11 = 2x 2 2222 -4 m m 0.375 22 10 = 3x 3 2223 -5 m m 0.1875 21 9= 4x 4 2224 -6 m m 0.09375 20 8= 55 2225 -7 m m 0.04688 19 7= 66 2216 -8 m m 0.02344 18 6 = 7 7 2 2 0 . 7- 9m m 0.01172 17 5= 88 2218 -10 m m 0.00586 16 4= 99 2229 -11 m m 0.00293 15 3 = 10 10 2 1 3 10 -12 m 0.00146 14 2 = 11 11 2 0 . 41 1m 0.000732 13 1 = 12 12 2 1 5 12 m 0.000366 12 0 = 13 13 2 2 6 13 0.000183 11 14 1 3 7 14 0.0000916 10 0 . 48 g 0.0000458 9 159 g 0.0000229 82 61 0g 0.0000114 73 71 1g 0.00000572 64 81 2g 0.00000286 55913g 4610 14 g 3711gg 2812gg 1913gg 01014gg ISL5216
63 feature changes 1. core voltage lowered from 3.3v to 2.5v for lower power operation (i/o supply voltage remains at 3.3v). maximum speed increased from 70mhz to 80mhz. 2. added jtag boundary scan test pins. 3. added readback capability to all the control registers. see table of indirect read address registers for complete listing. also added ?ter compute engine data ram read / write test mode via microprocessor interface ( f800h bit 15). 4. added synci0, synci1, synci2 and synci3 pins to serve as synci for individual channels. these inputs are ord together with the original (hsp50216) synci so that synci still functions as a global input. 5. added gwa register f80ah to generate a synco as in f809h, but which is also internally fed back to synci. 6. added more cic barrel shifter range. maximum shift r ange was increased by 16 from 31 (hsp50216) to 47, allowing for unit gain at lower cic decimations and cic b ypassing (see cic filter section for restrictions). this added bit 19 to iwa *004h . 7. added additional input pins for 14/3, 15/2 and 16/1 ?ating point input modes. also added an additional 6db to the old 14/2 mode. this added bits 20:16 to iwa *000h and 20:16 to gwa f804h (input level detector). 8. added a complex input mode. in this mode, complex (i and q) data can be multiplexed with the i input ?st and q input second. the enix signal indicates the clock cycle when i is valid, and the q data is taken on either the next input clock or the one two clocks after i. this added bits 24:22 to iwa *000h and 24:22 to gwa f804h . complex input mode is not valid for the input level detector (only i samples are processed). 9. added a programmable delay to the sin / cos path to correct for misalignment between the input data enables and the nco enables when input samples are unevenly spaced in the gated input mode. this added bit 21 to iwa *000h . if set, the misalignment is corrected. can be set to 0 to retain hsp50216 behavior. 10. increased carrier phase offset resolution from 3 to 16 bits. the original 3 bits (*004h bits 8:6) are added to a 16 bit value loaded into new iwa register *01ch . register *01ch is zeroed by the reset pin. 11. changed microprocessor fifo read decoding to remove the ce to rd timing constraint ( pmode = 0). for pmode = 1 the constraint was from addx, ce and r/w set up to the falling edge of dstrb . 12. changed serial output control logic to allow as few as ?e clocks between output samples rather than the minimum of seven clocks between inputs to the serial output section required by the hsp50216. 13. fixed the delay mode issue in the serial output control logic (in the hsp50216, if delayed samples extended to within seven samples of the new input to the serial output section the last sample could be dropped). 14. fixed a problem in the timing nco circuit that, under certain circumstances, could cause lost samples or no output. 15. added bist (built-in self test). 16. added a reset of the cics comb data registers on a front end reset. this reduces the transient due to old data in the comb when the decimation counters restart. 17. changed ?ter routing path 3. in hsp50216 path 3 routed intermediate ?ter calculations both to the ?ter compute engine input and directly to i2 and q2 outputs. in the ISL5216, path 3 routes data from the ?ter compute engine output through the fifo and agc to i2 and q2. see back end data routing ?ure. 18. changed the mask revision ?ld in the status register to 3. the hsp50216 rev. c reported a value of 2. 19. changed timing and carrier nco frequency readback register locations. on the hsp50216, carrier nco frequency readback was at ira *006h. this has changed to *005h on the ISL5216. likewise timing nco frequency readback has changed from ira *009h (for the upper 32 bits) on the hsp50216 to *007h for the upper 32 bits and *008h for the lower 24 bits. see ta b le of indirect read address registers for complete listing of readback registers. 20. removed bits 20:17 from gwa register f800h (test control register). bit 0 no longer needs to be set to route bits 31:21 to their corresponding output pins (see bit 16 description). all new control bits are inactive if set to zero for backward compatibility with hsp50216 software. po wer-up sequencing the ISL5216 core and i/o blocks are isolated by structures which may become forward biased if the supply voltages are not at speci?d levels. during the power-up and power-down operations, differences in the starting point and ramp rates of the two supplies may cause current to ?w in the isolation structures which, when prolonged and excessive, can reduce the usable life of the device. in general, the most preferred case would be to power-up the core and i/o structures simultaneously. however, it is also safe to power-up the core prior to the i/o block if simultaneous application of the supplies is not possible. in this case, the i/o voltage should be applied in 10ms to 100ms nominally to preserve supply component reliability. bringing the core and i/o supplies to their respective regulation levels in a maximum time frame of a 100ms, moderates the stresses placed on both, the power supply and the ISL5216. ISL5216
64 ISL5216 plastic ball grid array packages (bga) o t op view d a1 corner bottom view p n l m j k g h f e 8 13 14 12 11 10 9 corner 765 3 42 c d a b 1 side view seating plane c a a1 a2 bbb c aaa a1 corner i.d. e a b e1 d1 b s all rows and columns s m a b c c 0.15 0.08 m 0.006 0.003 a1 a1 corner i.d. e a a c v196.12x12 196 ball plastic ball grid array package symbol inches millimeters notes min max min max a- 0.059 - 1.50 - a1 0.012 0.016 0.31 0.41 - a2 0.037 0.044 0.93 1.11 - b 0.016 0.020 0.41 0.51 7 d/e 0.468 0.476 11.90 12.10 - d1/e1 0.405 0.413 10.30 10.50 - n 196 196 - e 0.032 bsc 0.80 bsc - md/me 14 x 14 14 x 14 3 bbb 0.004 0.10 - aaa 0.005 0.12 - rev. 2 12/00 notes: 1. controlling dimension: millimeter. converted inch dimensions are not necessarily exact. 2. dimensioning and tolerancing conform to asme y14.5m-1994. 3. ?d?and ?e?are the maximum ball matrix size for the ?? and ??dimensions, respectively. 4. ??is the maximum number of balls for the specific array size. 5. primary datum c and seating plane are defined by the spherical crowns of the contact balls. 6. dimension ??includes standoff height ?1? package body thickness and lid or cap height ?2? 7. dimension ??is measured at the maximum ball diameter, parallel to the primary datum c. 8. pin ?1?is marked on the top and bottom sides adjacent to a1. 9. ??is measured with respect to datum? a and b and defines the position of the solder balls nearest to package centerlines. when there is an even number of balls in the outer row the value is ??= e/2. v196.15x15 package information available on intersils website. v
65 all intersil u.s. products are manufactured, assembled and tested utilizing iso9000 quality systems. intersil corporations quality certi?ations can be viewed at www.intersil.com/design/quality intersil products are sold by description only. intersil corporation reserves the right to make changes in circuit design, soft w are and/or speci?ations at any time without notice. accordingly, the reader is cautioned to verify that data sheets are current before placing orders. information furnishe d by intersil is believed to be accurate and reliable. however, no responsibility is assumed by intersil or its subsidiaries for its use; nor for any infringements of paten ts or other rights of third parties which may result from its use. no license is granted by implication or otherwise under any patent or patent rights of intersil or its subsidiari es. f or information regarding intersil corporation and its products, see www.intersil.com ISL5216 plastic ball grid array packages (bga) o t op view d a1 corner bottom view p n l m j k g h f e 8 13 14 12 11 10 9 corner 765 3 42 c d a b 1 side view seating plane c a a1 a2 bbb c aaa a1 corner i.d. e a b e1 d1 b s all rows and columns s m a b c c 0.15 0.08 m 0.006 0.003 a1 a1 corner i.d. e a a c v196.15x15 196 ball plastic ball grid array package symbol inches millimeters notes min max min max a- 0.059 - 1.50 - a1 0.012 0.016 0.31 0.41 - a2 0.037 0.044 0.93 1.11 - b 0.016 0.020 0.41 0.51 7 d/e 0.587 0.595 14.90 15.10 - d1/e1 0.508 0.516 12.90 13.10 - n 196 196 - e 0.039 bsc 1.0 bsc - md/me 14 x 14 14 x 14 3 bbb 0.004 0.10 - aaa 0.005 0.12 - rev. 1 12/00 notes: 1. controlling dimension: millimeter. converted inch dimensions are not necessarily exact. 2. dimensioning and tolerancing conform to asme y14.5m-1994. 3. ?d?and ?e?are the maximum ball matrix size for the ?? and ??dimensions, respectively. 4. ??is the maximum number of balls for the specific array size. 5. primary datum c and seating plane are defined by the spher- ical crowns of the contact balls. 6. dimension ??includes standoff height ?1? package body thickness and lid or cap height ?2? 7. dimension ??is measured at the maximum ball diameter, parallel to the primary datum c. 8. pin ?1 is marked on the top and bottom sides adjacent to a1. 9. ??is measured with respect to datum? a and b and defines the position of the solder balls nearest to package center- lines. when there is an even number of balls in the outer row the value is ??= e/2.


▲Up To Search▲   

 
Price & Availability of ISL5216

All Rights Reserved © IC-ON-LINE 2003 - 2022  

[Add Bookmark] [Contact Us] [Link exchange] [Privacy policy]
Mirror Sites :  [www.datasheet.hk]   [www.maxim4u.com]  [www.ic-on-line.cn] [www.ic-on-line.com] [www.ic-on-line.net] [www.alldatasheet.com.cn] [www.gdcy.com]  [www.gdcy.net]


 . . . . .
  We use cookies to deliver the best possible web experience and assist with our advertising efforts. By continuing to use this site, you consent to the use of cookies. For more information on cookies, please take a look at our Privacy Policy. X